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

Does anyone know how to use the matlab to calculate the minimu distance between a point outside oval and the oval surface？

"The oual can be both given in the form of an equation or data points." <== if you have data points (xb, yb) on the boundary o...

Does anyone know how to use the matlab to calculate the minimu distance between a point outside oval and the oval surface？

"The oual can be both given in the form of an equation or data points." <== if you have data points (xb, yb) on the boundary o...

environ 4 heures ago | 0

Answered

How to read a multiframe tiff in MATLAB?

This is what I do in my app having multipage tiffs info = imfinfo(imageFullFileName); numberOfPages = length(info); for k = 1...

How to read a multiframe tiff in MATLAB?

This is what I do in my app having multipage tiffs info = imfinfo(imageFullFileName); numberOfPages = length(info); for k = 1...

environ 4 heures ago | 0

Answered

How to detect the uitable on GUI

You can use isempty() to determine if a variable is null. You can use iscell() to determine if a variable is a cell array. The...

How to detect the uitable on GUI

You can use isempty() to determine if a variable is null. You can use iscell() to determine if a variable is a cell array. The...

environ 4 heures ago | 0

Answered

adding 5% white gaussian noise

Try this: % Make sample data. x = linspace(0, 3*pi, 640); period = 2*pi; y = cos(2 * pi * x / period); % Noise-free signal. ...

adding 5% white gaussian noise

Try this: % Make sample data. x = linspace(0, 3*pi, 640); period = 2*pi; y = cos(2 * pi * x / period); % Noise-free signal. ...

environ 4 heures ago | 0

| accepted

Answered

How to plot images with different sizes in one figure?

The first argument to subplot needs to be 2 because there are 2 rows. The layout is this: 1 2 3 4 For the first two plots,...

How to plot images with different sizes in one figure?

The first argument to subplot needs to be 2 because there are 2 rows. The layout is this: 1 2 3 4 For the first two plots,...

environ 4 heures ago | 0

| accepted

Answered

fitting a circle with fitnlm

You might also be interested in the FAQ: https://matlab.fandom.com/wiki/FAQ#How_can_I_fit_a_circle_to_a_set_of_XY_data.3F

fitting a circle with fitnlm

You might also be interested in the FAQ: https://matlab.fandom.com/wiki/FAQ#How_can_I_fit_a_circle_to_a_set_of_XY_data.3F

environ 5 heures ago | 0

Answered

How to plot (n) circles with known center and radius

If you have the Image Processing Toolbox, use viscircles(centers, radii): theta=10 % azimuthal distance between the centers of ...

How to plot (n) circles with known center and radius

If you have the Image Processing Toolbox, use viscircles(centers, radii): theta=10 % azimuthal distance between the centers of ...

environ 5 heures ago | 0

Answered

how to create a video after an edge detection for loop

You're not writing the edge image out, either to a saved image file or the video. See my attached demos -- they show you how to...

how to create a video after an edge detection for loop

You're not writing the edge image out, either to a saved image file or the video. See my attached demos -- they show you how to...

environ 5 heures ago | 1

Answered

Why is my code showing the error:" Error using matlab.graphics.primitive.Image/set; Invalid or deleted object.

At some point hShow disappears. Set a breakpoint there and then stip through with the debugger and look at the workspace to fin...

Why is my code showing the error:" Error using matlab.graphics.primitive.Image/set; Invalid or deleted object.

At some point hShow disappears. Set a breakpoint there and then stip through with the debugger and look at the workspace to fin...

environ 18 heures ago | 0

Answered

How to select the desired object in a certain region in an image?

Just check the area and centroid and throw out those that aren't close enough to the middle and large enough labeledImage = bwl...

How to select the desired object in a certain region in an image?

Just check the area and centroid and throw out those that aren't close enough to the middle and large enough labeledImage = bwl...

environ 18 heures ago | 0

Answered

What is wrong with my code ,why i am getting exactly same output and plot for spline and cubic?

A spline is a cubic interpolation between points with the added requirement that the slopes match at the knot points. Not sure ...

What is wrong with my code ,why i am getting exactly same output and plot for spline and cubic?

A spline is a cubic interpolation between points with the added requirement that the slopes match at the knot points. Not sure ...

1 jour ago | 0

Answered

Display output in the center of the screen

I don't know because the command window width changes depending on how you have it sized. This might be a question for Yair Alt...

Display output in the center of the screen

I don't know because the command window width changes depending on how you have it sized. This might be a question for Yair Alt...

1 jour ago | 0

Answered

Avoid lower case in legend by plotting legend with 'DisplayName'

Use the 'Interpreter', 'none' option in legend(): % Read headers plot(1:10); hold on plot(4:14); legend('plot_1', 'plot_2',...

Avoid lower case in legend by plotting legend with 'DisplayName'

Use the 'Interpreter', 'none' option in legend(): % Read headers plot(1:10); hold on plot(4:14); legend('plot_1', 'plot_2',...

1 jour ago | 0

Answered

displacing iterations of a signal

In your loop, you can just create an x that gets shifted on each iteration stim = ...... x = 5000 * i + (1 : length(stim)); % ...

displacing iterations of a signal

In your loop, you can just create an x that gets shifted on each iteration stim = ...... x = 5000 * i + (1 : length(stim)); % ...

1 jour ago | 0

Answered

How to curve fit an edge on an image

There is no point in doing a Canny edge detection after you have binarized the image. Just binarize and scan your image from to...

How to curve fit an edge on an image

There is no point in doing a Canny edge detection after you have binarized the image. Just binarize and scan your image from to...

1 jour ago | 0

Answered

How can I save UIAxes as an image when button is pushed in app designer?

Try exportgraphics().

How can I save UIAxes as an image when button is pushed in app designer?

Try exportgraphics().

1 jour ago | 0

Answered

How to number the peaks and troughs of signal ?

Try findpeaks() in the Signal Processing Toolbox. Invert the signal to find valleys. numPoints = 50; x = sort(rand(1, numPoi...

How to number the peaks and troughs of signal ?

Try findpeaks() in the Signal Processing Toolbox. Invert the signal to find valleys. numPoints = 50; x = sort(rand(1, numPoi...

1 jour ago | 0

| accepted

Answered

How to view multiple cells of column data on the same sheet

You can try celldisp() to spit them out to the command window.

How to view multiple cells of column data on the same sheet

You can try celldisp() to spit them out to the command window.

1 jour ago | 0

Answered

Is it okay to interpolate between overlapping areas obtained using a sliding window to make a colormap?

The value at that point is the ratio within the window when the window is located at that point. I don't see any problem with t...

Is it okay to interpolate between overlapping areas obtained using a sliding window to make a colormap?

The value at that point is the ratio within the window when the window is located at that point. I don't see any problem with t...

1 jour ago | 0

| accepted

Answered

Custering data by color

mahdi: Is this what you're looking for: % Initialization steps. Brute force cleanup of everything currently existing to start...

Custering data by color

mahdi: Is this what you're looking for: % Initialization steps. Brute force cleanup of everything currently existing to start...

1 jour ago | 1

Answered

MatLab crashing while saving variable

When it crashed, did it offer to send in the crash log, either when it crashed or when you started MATLAB the next time? If so,...

MatLab crashing while saving variable

When it crashed, did it offer to send in the crash log, either when it crashed or when you started MATLAB the next time? If so,...

1 jour ago | 0

Answered

Create a grid on an image

You forgot to attach your image or screenshot. And you forgot to tell us what shaping and flag are. But it looks like this loo...

Create a grid on an image

You forgot to attach your image or screenshot. And you forgot to tell us what shaping and flag are. But it looks like this loo...

1 jour ago | 0

Answered

diameter of image (1024x1024 logical value)

You can get the Equivalent Circular Diameter from regionprops(). This is the diameter of the blob if you were to smoosh and mol...

diameter of image (1024x1024 logical value)

You can get the Equivalent Circular Diameter from regionprops(). This is the diameter of the blob if you were to smoosh and mol...

1 jour ago | 1

| accepted

Answered

Plot a circle of Gaussian varying intensity

I don't see squares, except if you look at 45 degrees, but that's what you get when you use a hex grid. I think you should use ...

Plot a circle of Gaussian varying intensity

I don't see squares, except if you look at 45 degrees, but that's what you get when you use a hex grid. I think you should use ...

2 jours ago | 0

Answered

compressing a code, help me

Not sure why it needs to be compressed as much as possible, but this will compress it as much as possible while giving the very ...

compressing a code, help me

Not sure why it needs to be compressed as much as possible, but this will compress it as much as possible while giving the very ...

2 jours ago | 0

Answered

problem with the sum function

You need to leave i as a variable because it did not say to sum over i. So just sum over the j dimension for a given i. Try th...

problem with the sum function

You need to leave i as a variable because it did not say to sum over i. So just sum over the j dimension for a given i. Try th...

2 jours ago | 0

Answered

Please help to solve this

You got the > sign wrong for the loop. Plus you never updated the temperature in the loop to "temp" - you used Fahrenheit, whic...

Please help to solve this

You got the > sign wrong for the loop. Plus you never updated the temperature in the loop to "temp" - you used Fahrenheit, whic...

2 jours ago | 0

Answered

How to Seperate Region of Interest into 3 Segments

If you want equal thirds, just use regionprops() to get the bounding box and then figure out what the columns are to divide it b...

How to Seperate Region of Interest into 3 Segments

If you want equal thirds, just use regionprops() to get the bounding box and then figure out what the columns are to divide it b...

2 jours ago | 0

Answered

By tonight I'd like to create an image from RGB data in a file

See my attached demo for scatteredInterpolant(). You could also change it to use griddedInterpolant().

By tonight I'd like to create an image from RGB data in a file

See my attached demo for scatteredInterpolant(). You could also change it to use griddedInterpolant().

2 jours ago | 0

Answered

Creating a porosity map by interpolating between multiple overlapping grid squares

Yes, it's not uncommon. Just call imfilter() or conv2() to sum up the number of white points at each point. You can adjust the...

Creating a porosity map by interpolating between multiple overlapping grid squares

Yes, it's not uncommon. Just call imfilter() or conv2() to sum up the number of white points at each point. You can adjust the...

2 jours ago | 0

| accepted