28 668 total contributions since 2010

Senior Scientist and Inventor in one of the world's 10 largest industrial corporations doing image analysis full time. Ph.D. in Optical Sciences specializing in imaging, image processing, and image analysis. 40+ years of military, academic, and (mostly) industrial experience with image analysis programming and algorithm development. Experience designing custom light booths and other imaging systems. Experience with color and monochrome imaging, video analysis, thermal, ultraviolet, hyperspectral, CT, MRI, radiography, profilometry, microscopy, NIR and Raman spectroscopy, etc. on a huge variety of subjects. Be sure to click "View All" in my File Exchange to see ALL of my demos and tutorials: http://www.mathworks.com/matlabcentral/fileexchange/?term=authorid%3A31862

Professional Interests: Image analysis and processing

Answered

how to combine a GUI timer with battleship game

FYI, the MATLAB Facebook page has an item on Battleship: Battleship

how to combine a GUI timer with battleship game

FYI, the MATLAB Facebook page has an item on Battleship: Battleship

environ 6 heures ago | 0

Answered

Corner detection in freehand drawings

Count the vertices. See my attached demo.

Corner detection in freehand drawings

Count the vertices. See my attached demo.

environ 24 heures ago | 0

Answered

Unable to perform assignment because the size of the left side is 1-by-1 and the size of the right side is 2-by-1.

cfs and fifs are both 2 values, so you're trying to stick two values into one index. Change the fs line to this and see what yo...

Unable to perform assignment because the size of the left side is 1-by-1 and the size of the right side is 2-by-1.

cfs and fifs are both 2 values, so you're trying to stick two values into one index. Change the fs line to this and see what yo...

1 jour ago | 0

Answered

the equivalent matlab code for areg ,absorb in stata

I don't understand your code at all. If you want to fit a polynomial, use polyfit(). For something more complicated, try fitnl...

the equivalent matlab code for areg ,absorb in stata

I don't understand your code at all. If you want to fit a polynomial, use polyfit(). For something more complicated, try fitnl...

1 jour ago | 0

Answered

Error in matlab codes

Try getting rid of the brackets, which concatenate all the values from all the structures into a single array of 20 values, whic...

Error in matlab codes

Try getting rid of the brackets, which concatenate all the values from all the structures into a single array of 20 values, whic...

1 jour ago | 0

Answered

My code keeps breaking for a few data input, Please help! The Question is: Write a function called valid_date that takes three positive integer scalar inputs year, month, day. If these three represent a valid date, return a logical true, otherwise fa

Step through it with the debugger, like we all do. If you don't know how, see this link So when month is 8, and day is 31, wha...

My code keeps breaking for a few data input, Please help! The Question is: Write a function called valid_date that takes three positive integer scalar inputs year, month, day. If these three represent a valid date, return a logical true, otherwise fa

Step through it with the debugger, like we all do. If you don't know how, see this link So when month is 8, and day is 31, wha...

1 jour ago | 0

Answered

How to evaluate a math function?

Try this: % Specify the start of the interval. x1 = 1; % The end of the interval is 0.01 after the start of the interval. x2...

How to evaluate a math function?

Try this: % Specify the start of the interval. x1 = 1; % The end of the interval is 0.01 after the start of the interval. x2...

1 jour ago | 0

Answered

How to convert RGB to hsv?

Why not simply use the built-in rgb2hsv() function: % load R and G and B data clear close all clc load('RGB.mat') subplo...

How to convert RGB to hsv?

Why not simply use the built-in rgb2hsv() function: % load R and G and B data clear close all clc load('RGB.mat') subplo...

1 jour ago | 0

Answered

How to use blockproc by location?

Yes, you can even do that without blockproc(). Here's how yourImage = uint8(255 * ones(yourImage)); that will turn every pixe...

How to use blockproc by location?

Yes, you can even do that without blockproc(). Here's how yourImage = uint8(255 * ones(yourImage)); that will turn every pixe...

1 jour ago | 0

Answered

Divide a data set into 4 parts so that the sum of each part 1/4th of the total

I'd just sort them and then take the CDF and look for percentages: c = cumsum(sort(data, 'ascend')); c = c / c(end); % Normali...

Divide a data set into 4 parts so that the sum of each part 1/4th of the total

I'd just sort them and then take the CDF and look for percentages: c = cumsum(sort(data, 'ascend')); c = c / c(end); % Normali...

1 jour ago | 1

| accepted

Answered

How to separate background from foreground on image using segmentation??

My Image Processing Tutorial will walk you through the process.

How to separate background from foreground on image using segmentation??

My Image Processing Tutorial will walk you through the process.

1 jour ago | 0

Answered

imadjust returns error only supported for 2d-grayscal images

imadjust() finds the tails of the histogram - the 1% points at each end of the histogram. Then it linearly maps those points to...

imadjust returns error only supported for 2d-grayscal images

imadjust() finds the tails of the histogram - the 1% points at each end of the histogram. Then it linearly maps those points to...

1 jour ago | 1

Answered

How do you section data that has peaks and troughs

This seems to work: clc; % Clear the command window. close all; % Close all figures (except those of imtool.) clear; % E...

How do you section data that has peaks and troughs

This seems to work: clc; % Clear the command window. close all; % Close all figures (except those of imtool.) clear; % E...

1 jour ago | 0

Answered

How do you section data that has peaks and troughs

Try a search on silence detection. For example you'll find this link: my answer for one post The thresholding I used there won...

How do you section data that has peaks and troughs

Try a search on silence detection. For example you'll find this link: my answer for one post The thresholding I used there won...

1 jour ago | 0

Answered

can anyone tell me how to remove unvoiced or silenced region from audio file?

See my program where I find where the envelope of the standard guitar demo file that ships with MATLAB is below 0.13 and I cut o...

can anyone tell me how to remove unvoiced or silenced region from audio file?

See my program where I find where the envelope of the standard guitar demo file that ships with MATLAB is below 0.13 and I cut o...

1 jour ago | 7

| accepted

Answered

how can i . Compare reconstructed original Image of Fourier Transform

Try this: imdata = imread('C:\Users\Th3_Bl4cK\Desktop\r.jpg'); figure(1); imshow(imdata); originalRGBImage = imdata; % Save...

how can i . Compare reconstructed original Image of Fourier Transform

Try this: imdata = imread('C:\Users\Th3_Bl4cK\Desktop\r.jpg'); figure(1); imshow(imdata); originalRGBImage = imdata; % Save...

2 jours ago | 0

Answered

display two figures in one

Just put a static text label on the figure and write to that.

display two figures in one

Just put a static text label on the figure and write to that.

2 jours ago | 0

Answered

using fft2 and ifft for image processing

As you should know, fft2() is not used to view processed images -- imshow() is. fft2() just converts the spatial domain image t...

using fft2 and ifft for image processing

As you should know, fft2() is not used to view processed images -- imshow() is. fft2() just converts the spatial domain image t...

2 jours ago | 0

Answered

PixelID/Pixel Value of Specific Point in Image?

You could use meshgrid() to get the x,y locations, and then use abinary image to mask out the ROI you want. Attach your image a...

PixelID/Pixel Value of Specific Point in Image?

You could use meshgrid() to get the x,y locations, and then use abinary image to mask out the ROI you want. Attach your image a...

2 jours ago | 0

Answered

How to divide the total video into different Region of Interest ?

Just read in a frame of the video and mask it or crop it out (with imcrop), then just work on the remaining pixels.

How to divide the total video into different Region of Interest ?

Just read in a frame of the video and mask it or crop it out (with imcrop), then just work on the remaining pixels.

2 jours ago | 0

| accepted

Answered

The work has done on MATLAB. Can I get the same code for python

I suggest you hire someone to convert MATLAB to Python for you if you can't understand the MATLAB code. The Mathworks consultin...

The work has done on MATLAB. Can I get the same code for python

I suggest you hire someone to convert MATLAB to Python for you if you can't understand the MATLAB code. The Mathworks consultin...

2 jours ago | 0

Answered

How to fill holes in binary image

To fill holes in a binary image: bw = imfill(bw, 'holes');

How to fill holes in binary image

To fill holes in a binary image: bw = imfill(bw, 'holes');

2 jours ago | 0

Answered

How to calculate the distance, in pixels, between each centroid in a binary image.

Try xy = vertcat(a1RP.Centroid) distances = pdist2(xy, xy) Be aware that centroids are x,y, which is (column, row), not (row,...

How to calculate the distance, in pixels, between each centroid in a binary image.

Try xy = vertcat(a1RP.Centroid) distances = pdist2(xy, xy) Be aware that centroids are x,y, which is (column, row), not (row,...

2 jours ago | 1

| accepted

Answered

add numbers to an array correspondingly

If you have a fairly recent version of MATLAB, that does automatic expansion, you can simply do output = B + A

add numbers to an array correspondingly

If you have a fairly recent version of MATLAB, that does automatic expansion, you can simply do output = B + A

2 jours ago | 0

Answered

complement a ROI region of an image

Try this: img = 255 - img; % Invert gray levels. img(~BW) = 0; % Make sure background stays black.

complement a ROI region of an image

Try this: img = 255 - img; % Invert gray levels. img(~BW) = 0; % Make sure background stays black.

2 jours ago | 0

| accepted

Answered

HOW TO CONVERT GRAY IMAGE TO HUE IMAGE?

The code you gave is irrelevant. It will produce bogus results. To compare colors you need to use Delta E. Plus, it's meaning...

HOW TO CONVERT GRAY IMAGE TO HUE IMAGE?

The code you gave is irrelevant. It will produce bogus results. To compare colors you need to use Delta E. Plus, it's meaning...

3 jours ago | 1

Answered

Given a column matrix of numbers, how to extract some numbers that meet some condition and save them in a new matrix, if I don't know how many numbers will meet the condition?

Try rowsToExtract = R < 0.8 M = R(rowsToExtract); This is very very basic. Since you don't know this yet, you should probabl...

Given a column matrix of numbers, how to extract some numbers that meet some condition and save them in a new matrix, if I don't know how many numbers will meet the condition?

Try rowsToExtract = R < 0.8 M = R(rowsToExtract); This is very very basic. Since you don't know this yet, you should probabl...

3 jours ago | 1

Answered

Renaming batch names removing extensions

Try this % Specify the folder where the files live. myFolder = 'C:\Users\yourUserName\Documents\My Pictures'; % Check to make...

Renaming batch names removing extensions

Try this % Specify the folder where the files live. myFolder = 'C:\Users\yourUserName\Documents\My Pictures'; % Check to make...

3 jours ago | 0

Answered

How can I select items in a double list?

Try TA8 = T_C(1:3); etc. Or for all of them in turn: for k = 1 : 3 : length(T_C) % Starting at 1, 4, 7, etc.... TA8 = ...

How can I select items in a double list?

Try TA8 = T_C(1:3); etc. Or for all of them in turn: for k = 1 : 3 : length(T_C) % Starting at 1, 4, 7, etc.... TA8 = ...

4 jours ago | 0

Answered

Problem with an unidentified variable.

There is no var2(). Use var variance = var(crop(:));

Problem with an unidentified variable.

There is no var2(). Use var variance = var(crop(:));

4 jours ago | 0