Senior Scientist (male/man) 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. Member of the Mathworks Community Advisory Board. 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

Plotting complicated function with asymptotes

Did you try y = linspace(7, 12, 1000); signal = exp(y .* cot(y)) .* sin(y); plot(y, signal, 'b-', 'LineWidth', 2); grid on; ...

Plotting complicated function with asymptotes

Did you try y = linspace(7, 12, 1000); signal = exp(y .* cot(y)) .* sin(y); plot(y, signal, 'b-', 'LineWidth', 2); grid on; ...

ungefär 18 timmar ago | 0

Answered

Programmatically crop rough image to rectangle

There is no function to find the largest interior rectangle for arbitraily shaped blobs. You can try scanning down with a line ...

Programmatically crop rough image to rectangle

There is no function to find the largest interior rectangle for arbitraily shaped blobs. You can try scanning down with a line ...

ungefär 22 timmar ago | 0

Answered

How to center and add margin around image?

Have you tried padarray()? Then use indexing to paste it onto the other image. I'm attaching a copying and pasting demo. Chec...

How to center and add margin around image?

Have you tried padarray()? Then use indexing to paste it onto the other image. I'm attaching a copying and pasting demo. Chec...

ungefär 22 timmar ago | 0

Answered

How plot to matrices in 3D

Some possible options: x=1:5; y=3:5; [X, Y] = meshgrid(x, y) z = [-1 2 3; -5 -1 3; -2 4 8; 1 3 7; 4 7 10] subplot(2, 1, 1);...

How plot to matrices in 3D

Some possible options: x=1:5; y=3:5; [X, Y] = meshgrid(x, y) z = [-1 2 3; -5 -1 3; -2 4 8; 1 3 7; 4 7 10] subplot(2, 1, 1);...

2 dagar ago | 0

| accepted

Answered

How to recognize negative numbers with OCR?

Can't you simply add a - to the CharacterSet? Then if the first character is a -, it's a negative number. This works fine: gr...

How to recognize negative numbers with OCR?

Can't you simply add a - to the CharacterSet? Then if the first character is a -, it's a negative number. This works fine: gr...

2 dagar ago | 2

| accepted

Answered

Add a Title for Each Group of Subplots in a Figure Window

I believe you can use text(). I think it will place text on the figure if you tell it to, instead of the current axes. Try it ...

Add a Title for Each Group of Subplots in a Figure Window

I believe you can use text(). I think it will place text on the figure if you tell it to, instead of the current axes. Try it ...

2 dagar ago | 1

Answered

Monte Carlo noise simulation

You can use rand() to get a 1000 row matrix with 2 columns. Then use mean() and std() on each column or row. I'm attaching som...

Monte Carlo noise simulation

You can use rand() to get a 1000 row matrix with 2 columns. Then use mean() and std() on each column or row. I'm attaching som...

2 dagar ago | 1

Answered

Logical with complex numbers in a vector

Perhaps this: complexVector =[ 0.0000 + 0.1000i 1.7321 + 0.0010i 3.0000 + 0.0000i] % Define a tolerance: toleranc...

Logical with complex numbers in a vector

Perhaps this: complexVector =[ 0.0000 + 0.1000i 1.7321 + 0.0010i 3.0000 + 0.0000i] % Define a tolerance: toleranc...

3 dagar ago | 1

Answered

Error in splitapply command

This seems to work fine: B = 1 + 9 * rand(1, 100000); edges = 1 : 0.5 : 10 [counts, edges, bin] = histcounts(B, edges); % bi...

Error in splitapply command

This seems to work fine: B = 1 + 9 * rand(1, 100000); edges = 1 : 0.5 : 10 [counts, edges, bin] = histcounts(B, edges); % bi...

3 dagar ago | 1

Answered

Deep learning or Machine learning for the image processing is better option?

It depends on the images. Like, how easy it is to segment with traditional methods versus how ill-defined or variable the objec...

Deep learning or Machine learning for the image processing is better option?

It depends on the images. Like, how easy it is to segment with traditional methods versus how ill-defined or variable the objec...

3 dagar ago | 1

| accepted

Answered

How to get mode values of RGB to represent one image

Explain exactly what "extract RGB from those images" means to you. Because to get the individual color channels (R, G, and B) f...

How to get mode values of RGB to represent one image

Explain exactly what "extract RGB from those images" means to you. Because to get the individual color channels (R, G, and B) f...

3 dagar ago | 0

| accepted

Answered

Find distance between one point and a subset of other points.

For example, with 2-D array X, and 4 points: n = 4; % Whatever X = rand(n, 2); % Find distance between point 1 and all other ...

Find distance between one point and a subset of other points.

For example, with 2-D array X, and 4 points: n = 4; % Whatever X = rand(n, 2); % Find distance between point 1 and all other ...

3 dagar ago | 0

Answered

How can I get randperm to return a permutation of a vector that has no entries at their original positions?

Just keep looping until there are no matches, like this: n = 5; originalVector = 1 : n; maxIterations = 10000; loopCounter =...

How can I get randperm to return a permutation of a vector that has no entries at their original positions?

Just keep looping until there are no matches, like this: n = 5; originalVector = 1 : n; maxIterations = 10000; loopCounter =...

3 dagar ago | 0

Answered

How can I improve segmentation of these images?

Did you try the Color Thresholder on the Apps tab of the tool ribbon? Set it up for hsv color space and tell it to find green b...

How can I improve segmentation of these images?

Did you try the Color Thresholder on the Apps tab of the tool ribbon? Set it up for hsv color space and tell it to find green b...

3 dagar ago | 0

| accepted

Answered

is their any way to calculate automatically this parameter from the image ?

Of course it's possible. Try this. Adapt as needed: % Demo by Image Analyst, February, 2021. clc; % Clear the command win...

is their any way to calculate automatically this parameter from the image ?

Of course it's possible. Try this. Adapt as needed: % Demo by Image Analyst, February, 2021. clc; % Clear the command win...

3 dagar ago | 1

| accepted

Answered

How do add one picture onto another picture in MATLAB?

subplot is one way subplot(2, 2, 1); imshow(image1); subplot(2, 2, 2); imshow(image2); subplot(2, 2, 3); imshow(image3); ...

How do add one picture onto another picture in MATLAB?

subplot is one way subplot(2, 2, 1); imshow(image1); subplot(2, 2, 2); imshow(image2); subplot(2, 2, 3); imshow(image3); ...

3 dagar ago | 0

Answered

Best practise for quickly changing parameters of a function?

Try this: functionValues = [0.38, 800, 32; 0.5, 700, 64; 0.4, 750, 16] % Whatever values you want % Loop through all...

Best practise for quickly changing parameters of a function?

Try this: functionValues = [0.38, 800, 32; 0.5, 700, 64; 0.4, 750, 16] % Whatever values you want % Loop through all...

3 dagar ago | 0

| accepted

Answered

Matlab programmer for writing a code

Absolutely there is. Mathworks would be delighted to write your code for you. Visit this link to get started: https://www.mat...

Matlab programmer for writing a code

Absolutely there is. Mathworks would be delighted to write your code for you. Visit this link to get started: https://www.mat...

4 dagar ago | 0

Answered

Radious of curvature calculation from dicreate data set ?

Fit the data to an exponential decay. That should give you better parameters to use than the radius of curvature. I think this...

Radious of curvature calculation from dicreate data set ?

Fit the data to an exponential decay. That should give you better parameters to use than the radius of curvature. I think this...

5 dagar ago | 1

Answered

How to find total number of pixels in a colour image? How to find the resolution of an 2D image?

[rows, columns, numColorChannels] = size(rgbImage); numberOfPixels = rows * columns; Digital resolution is number of rows and ...

How to find total number of pixels in a colour image? How to find the resolution of an 2D image?

[rows, columns, numColorChannels] = size(rgbImage); numberOfPixels = rows * columns; Digital resolution is number of rows and ...

5 dagar ago | 1

| accepted

Answered

How to find the distance between two points on an image using edge detection

If the distance is wrong, then the spatial calibration factor of 0.02645 cm per pixel is not correct. And obviously the spatial...

How to find the distance between two points on an image using edge detection

If the distance is wrong, then the spatial calibration factor of 0.02645 cm per pixel is not correct. And obviously the spatial...

8 dagar ago | 2

| accepted

Answered

Getting unique information from .CSV, group and average

I didn't look at the data, but you might want to look at splitapply() and findgroups().

Getting unique information from .CSV, group and average

I didn't look at the data, but you might want to look at splitapply() and findgroups().

8 dagar ago | 1

Answered

How do you perform moving average with given data?

Try readmatrix() data = readmatrix(filename); data(isnan(data)) = [];

How do you perform moving average with given data?

Try readmatrix() data = readmatrix(filename); data(isnan(data)) = [];

8 dagar ago | 1

| accepted

Answered

Local binary pattern varient

I didn't delve into your code but if you want to see how I did it, see my attached demo.

Local binary pattern varient

I didn't delve into your code but if you want to see how I did it, see my attached demo.

8 dagar ago | 0

Answered

How to plot for this code?

Since youi're calline fft2(), you're dealing with images not 1-D signals. So call imshow() instead of plot(), unless you want t...

How to plot for this code?

Since youi're calline fft2(), you're dealing with images not 1-D signals. So call imshow() instead of plot(), unless you want t...

8 dagar ago | 0

Answered

Linear Regression problem issues

Can you simply use polyfit(x, y, 1)? Or do you have to use the slash operator? And obviously you need more than 1 point if you...

Linear Regression problem issues

Can you simply use polyfit(x, y, 1)? Or do you have to use the slash operator? And obviously you need more than 1 point if you...

8 dagar ago | 0

Answered

PROBLEM ANIMATING SURF PLOT

Not sure what your definition of "move" is. Are you talking about an animation? Or do you just want there to be variation alon...

PROBLEM ANIMATING SURF PLOT

Not sure what your definition of "move" is. Are you talking about an animation? Or do you just want there to be variation alon...

8 dagar ago | 0

Answered

drowsy detection using CNN

My answer was given in your duplicate question: https://www.mathworks.com/matlabcentral/answers/124792-how-to-detect-drowsiness#...

drowsy detection using CNN

My answer was given in your duplicate question: https://www.mathworks.com/matlabcentral/answers/124792-how-to-detect-drowsiness#...

8 dagar ago | 0

Answered

Preprocessing step for a set of images taken under different illuminations.

You need to have something in your image that is the same from photo to photo, like an X-rite Color Checker chart or some other ...

Preprocessing step for a set of images taken under different illuminations.

You need to have something in your image that is the same from photo to photo, like an X-rite Color Checker chart or some other ...

8 dagar ago | 0

Answered

get eccentricity and metric values images

Index your variables with k: area(k) = cat(1,stats.Area); eccentricity(k) = cat(1,stats.Eccentricity); metric(k) ...

get eccentricity and metric values images

Index your variables with k: area(k) = cat(1,stats.Area); eccentricity(k) = cat(1,stats.Eccentricity); metric(k) ...

8 dagar ago | 0

| accepted