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 can I compare distance (not only between two points, but also a set of points)

If you have the Statistics and Machine Learning toolbox, use pdist2(). It will give you the distance of every point to every ot...

How can I compare distance (not only between two points, but also a set of points)

If you have the Statistics and Machine Learning toolbox, use pdist2(). It will give you the distance of every point to every ot...

9 hours ago | 0

Answered

How to convert multiple rgb image into grayscale and save them into a new folder?

See the FAQ:How_can_I_process_a_sequence_of_files? Put a call to rgb2gray() and imwrite() inside the loop. Write back if you s...

How to convert multiple rgb image into grayscale and save them into a new folder?

See the FAQ:How_can_I_process_a_sequence_of_files? Put a call to rgb2gray() and imwrite() inside the loop. Write back if you s...

9 hours ago | 0

Answered

Retrieve all non-zeros indices except the first one for each row

Zero cannot be a linear index. This code will work: A = [2 0 1 0 0; 4 -9 0 5 0;0 0 2 0 -3;0 -3 2 0 0;1 2 0 0 6] linearIndexes...

Retrieve all non-zeros indices except the first one for each row

Zero cannot be a linear index. This code will work: A = [2 0 1 0 0; 4 -9 0 5 0;0 0 2 0 -3;0 -3 2 0 0;1 2 0 0 6] linearIndexes...

23 hours ago | 0

| accepted

Answered

Output argument not assigned during call

The function should start like this: function [X, Y] = points(t, U, U0) X = []; % Make sure we return SOMETHING, even though i...

Output argument not assigned during call

The function should start like this: function [X, Y] = points(t, U, U0) X = []; % Make sure we return SOMETHING, even though i...

24 hours ago | 0

Answered

Total Length of an image

You'd have to do image analysis. This includes image segmentation to get a binary map of the coral alone, then you can either t...

Total Length of an image

You'd have to do image analysis. This includes image segmentation to get a binary map of the coral alone, then you can either t...

1 day ago | 0

Answered

Maximum size squares sub-matrixe with all zeros (having the same diagonal of the mother matrix )

Here's a start. Sounds like homework maybe so I'll let you finish it: clc; clearvars; close all; workspace; fontSize = 16;...

Maximum size squares sub-matrixe with all zeros (having the same diagonal of the mother matrix )

Here's a start. Sounds like homework maybe so I'll let you finish it: clc; clearvars; close all; workspace; fontSize = 16;...

2 days ago | 1

Answered

How can I make edges black and background white in an photo with detected edges?

Try this: clc; % Clear the command window. close all; % Close all figures (except those of imtool.) clear; % Erase all e...

How can I make edges black and background white in an photo with detected edges?

Try this: clc; % Clear the command window. close all; % Close all figures (except those of imtool.) clear; % Erase all e...

2 days ago | 0

| accepted

Answered

How to find mean of selected values in a table with row gap???

This really should be in the FAQ since we see this question so often. But the standard trick is to reshape the vector into a 2-...

How to find mean of selected values in a table with row gap???

This really should be in the FAQ since we see this question so often. But the standard trick is to reshape the vector into a 2-...

2 days ago | 1

| accepted

Answered

cropping 2 images together

You can probably determine where the peak of the cross correlation is. Then place a cropping box around that but you'll need to...

cropping 2 images together

You can probably determine where the peak of the cross correlation is. Then place a cropping box around that but you'll need to...

2 days ago | 0

Answered

Array indices must be positive integers or logical values error

See the FAQ: Subscript_indices_must_either_be_real_positive_integers_or_logicals? Try this: values = linspace(0,50,7500); for...

Array indices must be positive integers or logical values error

See the FAQ: Subscript_indices_must_either_be_real_positive_integers_or_logicals? Try this: values = linspace(0,50,7500); for...

3 days ago | 0

Answered

Pixel values different for binary (logical array) image using impixel() vs accessing logical matrix normally

If you look up the documentation for impixel(), you'll see that it want coordinates in x,y format (i.e. column, row), NOT row, c...

Pixel values different for binary (logical array) image using impixel() vs accessing logical matrix normally

If you look up the documentation for impixel(), you'll see that it want coordinates in x,y format (i.e. column, row), NOT row, c...

3 days ago | 1

| accepted

Answered

Gray scale image from excel pixel files

Try this grayImage = uint16(csvread(filename)); imshow(grayImage, []); If that doesn't work, try importdata(), readtable(), r...

Gray scale image from excel pixel files

Try this grayImage = uint16(csvread(filename)); imshow(grayImage, []); If that doesn't work, try importdata(), readtable(), r...

5 days ago | 1

| accepted

Answered

How to set a title to the axes

Try this: title(handles.axes1, 'This is axes1', 'FontSize', 20); title(handles.axes2, 'This is axes2', 'FontSize', 20);

How to set a title to the axes

Try this: title(handles.axes1, 'This is axes1', 'FontSize', 20); title(handles.axes2, 'This is axes2', 'FontSize', 20);

5 days ago | 0

Answered

Dividing x tick labels

Why not simply use xticks() to set whatever tick marks you want, like % Create some sample plot: hFig = figure; plot(1:10) ...

Dividing x tick labels

Why not simply use xticks() to set whatever tick marks you want, like % Create some sample plot: hFig = figure; plot(1:10) ...

5 days ago | 0

| accepted

Answered

How to differentiate a series of functions denoted by varying a parameter i=1,2 in (h_i)?

Don't use a loop. For just 4 cases, just write them out h_1(x_1,x_2) = x_1 + (x_2) * (x_1); h_2(x_1,x_2) = x_2 + x_1 * x_2^2;...

How to differentiate a series of functions denoted by varying a parameter i=1,2 in (h_i)?

Don't use a loop. For just 4 cases, just write them out h_1(x_1,x_2) = x_1 + (x_2) * (x_1); h_2(x_1,x_2) = x_2 + x_1 * x_2^2;...

5 days ago | 0

Answered

index exceeds no of array elements

What about the error do you not understand? It says that the "Index exceeds the number of array elements" meaning that indx is ...

index exceeds no of array elements

What about the error do you not understand? It says that the "Index exceeds the number of array elements" meaning that indx is ...

5 days ago | 0

Answered

How to fined specific Kth values of an vector with n element

Use b as a linear index for a: a = [ 2 4 6 8 10] b = [1 3 5] c = a(b)

How to fined specific Kth values of an vector with n element

Use b as a linear index for a: a = [ 2 4 6 8 10] b = [1 3 5] c = a(b)

5 days ago | 0

Answered

Matlab GUI doesn't update the switch value while running

Put in a drawnow whenever you want ot force the screen to repaint drawnow;

Matlab GUI doesn't update the switch value while running

Put in a drawnow whenever you want ot force the screen to repaint drawnow;

6 days ago | 0

Answered

Calculate mean of every 4 elements in a row for an array

Try conv(): m = randi(9, 35040,60); % Create random sample data kernel = ones(1, 4)/4; % Kernel to get mean over 4 elments ti...

Calculate mean of every 4 elements in a row for an array

Try conv(): m = randi(9, 35040,60); % Create random sample data kernel = ones(1, 4)/4; % Kernel to get mean over 4 elments ti...

6 days ago | 0

Answered

How I find 8-connectivity of a binary image like [1 0 0 0 ;0 1 0 0;0 0 1 0;0 0 0 1] with gry level 1..in matlab... I want to make code program in matlab

Check the label: [labeledImage, numberOfBlobs] = bwlabel(binaryImage, 8); % Label with 8-connectivity if labeledImage(1,1) == ...

How I find 8-connectivity of a binary image like [1 0 0 0 ;0 1 0 0;0 0 1 0;0 0 0 1] with gry level 1..in matlab... I want to make code program in matlab

Check the label: [labeledImage, numberOfBlobs] = bwlabel(binaryImage, 8); % Label with 8-connectivity if labeledImage(1,1) == ...

6 days ago | 0

Answered

how do i open a browser in matlab ?

Try this: % Have user browse for a file, from a specified "starting folder." % For convenience in browsing, set a starting fol...

how do i open a browser in matlab ?

Try this: % Have user browse for a file, from a specified "starting folder." % For convenience in browsing, set a starting fol...

6 days ago | 0

Answered

I don't know how to apply RMS on blocks of an image using blockproc function in matlab. please help me with this.

Try this: % Uses blockproc() to get RMS of image blocks. % Demo code to divide the image up into 8 pixel by 8 pixel blocks % ...

I don't know how to apply RMS on blocks of an image using blockproc function in matlab. please help me with this.

Try this: % Uses blockproc() to get RMS of image blocks. % Demo code to divide the image up into 8 pixel by 8 pixel blocks % ...

7 days ago | 0

| accepted

Answered

I keep getting this error, Array indices must be positive integers or logical values. Error in Problem_4 (line 11) for k=2:length(t)

See The FAQ By the way, you forgot ot attach 'RDData.xlsx' so we can't run your code. And you forgot to attach the entire erro...

I keep getting this error, Array indices must be positive integers or logical values. Error in Problem_4 (line 11) for k=2:length(t)

See The FAQ By the way, you forgot ot attach 'RDData.xlsx' so we can't run your code. And you forgot to attach the entire erro...

7 days ago | 0

Answered

How to find the angular frequency and theta

I see nothing wrong with using linspace() to define variables, but usually one supplies the number of elements, like 1000 or wha...

How to find the angular frequency and theta

I see nothing wrong with using linspace() to define variables, but usually one supplies the number of elements, like 1000 or wha...

7 days ago | 0

| accepted

Answered

morphological operation and filtering

Try this. Adjust findpeaks() parameters as needed. clc; % Clear the command window. close all; % Close all figures (excep...

morphological operation and filtering

Try this. Adjust findpeaks() parameters as needed. clc; % Clear the command window. close all; % Close all figures (excep...

7 days ago | 1

Answered

Making one histogram with multiple images

Try this demo to take the histogram of the original image, the masked image, and the contrast adjusted image. You're doing all ...

Making one histogram with multiple images

Try this demo to take the histogram of the original image, the masked image, and the contrast adjusted image. You're doing all ...

7 days ago | 0

Answered

How can I detemine the presence of some colors (e.g white, light brown, dark brown, red, blue gray and black) in a piture like attached one?

With 16 millino colors possible in a24 bit RGB image, probably no color has that much. You'd be best off defining a limited num...

How can I detemine the presence of some colors (e.g white, light brown, dark brown, red, blue gray and black) in a piture like attached one?

With 16 millino colors possible in a24 bit RGB image, probably no color has that much. You'd be best off defining a limited num...

7 days ago | 0

| accepted

Answered

Rotating Mask of Sobel Opreator

Use imgradient(). It's the gradient so it's essentially the slope at all angles. Well not exactly but anyway, the edges it fin...

Rotating Mask of Sobel Opreator

Use imgradient(). It's the gradient so it's essentially the slope at all angles. Well not exactly but anyway, the edges it fin...

7 days ago | 0

Answered

How to change extension of selected file extensions in a directory?

Try this: % Specify the folder where the files live. myFolder = pwd; % or 'C:\Users\yourUserName\Documents\My SP2 files'; or w...

How to change extension of selected file extensions in a directory?

Try this: % Specify the folder where the files live. myFolder = pwd; % or 'C:\Users\yourUserName\Documents\My SP2 files'; or w...

7 days ago | 0