28.852 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 draw a rectangle on the matlab.ui.control.image object?

If you want to draw a rectangle into the overlay above an image, use rectangle(): hold on; rectangle('Position', [xleft, yTop,...

how to draw a rectangle on the matlab.ui.control.image object?

If you want to draw a rectangle into the overlay above an image, use rectangle(): hold on; rectangle('Position', [xleft, yTop,...

ongeveer 18 uur ago | 0

Answered

how to connect the adjacent lower edges of each bounding box

Use kmeans on the y values to identify boxes in one of the 5 lines that your image has. [classIndexes, classCentroid] = kmeans(...

how to connect the adjacent lower edges of each bounding box

Use kmeans on the y values to identify boxes in one of the 5 lines that your image has. [classIndexes, classCentroid] = kmeans(...

ongeveer 18 uur ago | 0

Answered

Is the gplotmatrix function capable of plotting with more than the 7 built in colors?

Not sure but you might try a strategy similar to the attached emo where I plot more than the standard 7 or 8 colors with line pl...

Is the gplotmatrix function capable of plotting with more than the 7 built in colors?

Not sure but you might try a strategy similar to the attached emo where I plot more than the standard 7 or 8 colors with line pl...

1 dag ago | 0

Answered

i need help with bwboundaries function

I presume your foreground is white and background black. So just call imclearborder(). bwboundaries() and regionprops(BW, 'Bou...

i need help with bwboundaries function

I presume your foreground is white and background black. So just call imclearborder(). bwboundaries() and regionprops(BW, 'Bou...

2 dagen ago | 0

Answered

How to close the boundary of a surface already generated by filling the holes

Is the data (circle) expected to be convex? If so the ultra-easy way is to just use bwconvhull() followed by bwboundaries(), po...

How to close the boundary of a surface already generated by filling the holes

Is the data (circle) expected to be convex? If so the ultra-easy way is to just use bwconvhull() followed by bwboundaries(), po...

2 dagen ago | 0

Answered

Best Way to find density of [x,y] coordinates within set window

James: Attached is how you do it using a rectangular window. Choose the window width to be square if you want. It counts the ...

Best Way to find density of [x,y] coordinates within set window

James: Attached is how you do it using a rectangular window. Choose the window width to be square if you want. It counts the ...

2 dagen ago | 2

Answered

how are number of edges differ from one edge detecting method to another?

They use different algorithm so of course they're not going to agree on every single pixel. You can look up the precise algorit...

how are number of edges differ from one edge detecting method to another?

They use different algorithm so of course they're not going to agree on every single pixel. You can look up the precise algorit...

2 dagen ago | 0

Answered

I want to add a line of best fit to my plot using the polyfit function.

See attached demo of polyfit where I fit a line and a dubic to some data. Attach your data and show a screenshot of it plotted ...

I want to add a line of best fit to my plot using the polyfit function.

See attached demo of polyfit where I fit a line and a dubic to some data. Attach your data and show a screenshot of it plotted ...

3 dagen ago | 0

Answered

Best Way to find density of [x,y] coordinates within set window

Can you supply your x and y in a .mat file save('answers.mat', 'x', 'y'); Use the paper clip icon. I'll probably just scan al...

Best Way to find density of [x,y] coordinates within set window

Can you supply your x and y in a .mat file save('answers.mat', 'x', 'y'); Use the paper clip icon. I'll probably just scan al...

3 dagen ago | 1

Answered

Apply a Local Averaging Mask

You can use imfilter() instead of convolution, but it's doing pretty much a similar thing (multiplying a sliding window by the i...

Apply a Local Averaging Mask

You can use imfilter() instead of convolution, but it's doing pretty much a similar thing (multiplying a sliding window by the i...

4 dagen ago | 0

Submitted

Plot audio file waveforms

Plots all the audio waveforms of all the sound files in a folder that you specify.

4 dagen ago | 9 downloads |

Answered

How to find mean line of the this edge?

Call bwareafilt() to get the largest blob: mask = bwareafilt(mask, 1); Then scan across column by column to get the midline [...

How to find mean line of the this edge?

Call bwareafilt() to get the largest blob: mask = bwareafilt(mask, 1); Then scan across column by column to get the midline [...

4 dagen ago | 0

Answered

How to select a roi in greyscale image and put values to zero

Use = to assign, not == which is a comparison. Raw(p(2):(p(2)+p(4)), p(1):(p(1)+p(3))) = 0; or mask = h.createmask(); Raw(ma...

How to select a roi in greyscale image and put values to zero

Use = to assign, not == which is a comparison. Raw(p(2):(p(2)+p(4)), p(1):(p(1)+p(3))) = 0; or mask = h.createmask(); Raw(ma...

5 dagen ago | 0

| accepted

Answered

Exponential decay extrap to y=0

I don't have the curve fitting toolbox so I did it with fitnlm() from the Statistics and Maching Learning Toolbox. Do I get t...

Exponential decay extrap to y=0

I don't have the curve fitting toolbox so I did it with fitnlm() from the Statistics and Maching Learning Toolbox. Do I get t...

6 dagen ago | 0

Answered

Matlab image processing using hex2dec to generate two block of colour

Here's a start on your homework: hexColor = '05A7AB' redChannel = hex2dec(hexColor(1:2)) * ones(100, 100, 'uint8'); greenChan...

Matlab image processing using hex2dec to generate two block of colour

Here's a start on your homework: hexColor = '05A7AB' redChannel = hex2dec(hexColor(1:2)) * ones(100, 100, 'uint8'); greenChan...

7 dagen ago | 0

Answered

Data Filtering Help Needed?

Try something like this: col = 2; % Whatever it is... theColumn = x{:, col}; % Extract column 2 as a cell array from the table...

Data Filtering Help Needed?

Try something like this: col = 2; % Whatever it is... theColumn = x{:, col}; % Extract column 2 as a cell array from the table...

7 dagen ago | 0

| accepted

Answered

Subtracting in matrix, column to column (Basic MatLab)?

You need to put the matrix name in there, and a result variables, like result = m(:,44) - ..................... etc.

Subtracting in matrix, column to column (Basic MatLab)?

You need to put the matrix name in there, and a result variables, like result = m(:,44) - ..................... etc.

7 dagen ago | 0

Answered

Fitting Gamma to a curve with two peaks

Attached is a demo where I fit two Gaussians. Adapt to your gamma functions.

Fitting Gamma to a curve with two peaks

Attached is a demo where I fit two Gaussians. Adapt to your gamma functions.

7 dagen ago | 0

| accepted

Answered

Iterating over an array to produce an array of calculated variances based on the next 9 entries and previous 9 entries

Replace for i=1:length(x_coordinates); with for i = 1 : length(x_coordinates) - 9

Iterating over an array to produce an array of calculated variances based on the next 9 entries and previous 9 entries

Replace for i=1:length(x_coordinates); with for i = 1 : length(x_coordinates) - 9

7 dagen ago | 1

| accepted

Answered

Determining values in array (of 1s and 0s) that neighbour similar values

Your largest central blob is actually connected to several other blobs as you can see in the lower left image. So you can't sim...

Determining values in array (of 1s and 0s) that neighbour similar values

Your largest central blob is actually connected to several other blobs as you can see in the lower left image. So you can't sim...

7 dagen ago | 0

Answered

How to perform piece-wise linear regression to determine break point?

I didn't know there was any existing functions to do it, so (a while ago) I just came up with my own intuitive approach. I just...

How to perform piece-wise linear regression to determine break point?

I didn't know there was any existing functions to do it, so (a while ago) I just came up with my own intuitive approach. I just...

10 dagen ago | 0

Answered

Cant change the background using image segmentaton

Why do you think that code will identify background, whatever that is, in an image of a bunch of leaves? What is the background...

Cant change the background using image segmentaton

Why do you think that code will identify background, whatever that is, in an image of a bunch of leaves? What is the background...

10 dagen ago | 0

Answered

How to join an image to multiple images with a loop?

If the number of columns are the same: tallImage = [topImage; bottomImage]; If the number of rows are the same wideImage = [l...

How to join an image to multiple images with a loop?

If the number of columns are the same: tallImage = [topImage; bottomImage]; If the number of rows are the same wideImage = [l...

10 dagen ago | 0

| accepted

Answered

How to replace image pixels

Try this if your data is stored row, column, new gray level: data = csvread(filename); % Assumes columns of row, column, new g...

How to replace image pixels

Try this if your data is stored row, column, new gray level: data = csvread(filename); % Assumes columns of row, column, new g...

13 dagen ago | 0

Answered

Point Spread Function with Gaussian (radial direction) and exponential (axial direction)

I don't know. You can use fspecial() to get a Gaussian image/pattern/matrix. Of course the values of that Gaussian are determi...

Point Spread Function with Gaussian (radial direction) and exponential (axial direction)

I don't know. You can use fspecial() to get a Gaussian image/pattern/matrix. Of course the values of that Gaussian are determi...

13 dagen ago | 1

Answered

problem with using Gabor filter to segment floor

It looks like a frame from a video. Assuming the humans are moving, it's probably best to either get a snapshot when no one is ...

problem with using Gabor filter to segment floor

It looks like a frame from a video. Assuming the humans are moving, it's probably best to either get a snapshot when no one is ...

14 dagen ago | 2

Answered

How can I conduct statistical analysis of runs that collate into one variable?

It's covered by the FAQ: https://matlab.fandom.com/wiki/FAQ#How_can_I_process_a_sequence_of_files.3F For example, it might be c...

How can I conduct statistical analysis of runs that collate into one variable?

It's covered by the FAQ: https://matlab.fandom.com/wiki/FAQ#How_can_I_process_a_sequence_of_files.3F For example, it might be c...

14 dagen ago | 0

Answered

sampling of pixel point and find out the distance between them

I suggest youi first correct your image capture conditions so that your book is pressed flat. Once you have done that the lines...

sampling of pixel point and find out the distance between them

I suggest youi first correct your image capture conditions so that your book is pressed flat. Once you have done that the lines...

14 dagen ago | 0

| accepted

Answered

problem in matlab code

W is probably a vector and so the entire right hand side is a vector. You can't stuff, say, 100 elements into throughputCR(i) w...

problem in matlab code

W is probably a vector and so the entire right hand side is a vector. You can't stuff, say, 100 elements into throughputCR(i) w...

14 dagen ago | 1

Answered

convert line to pixel coordinate

What if you just take the average of the initial, known points? x = sort(rand(9, 1)); y = sort(rand(9, 1)); plot(x, y, '.-', ...

convert line to pixel coordinate

What if you just take the average of the initial, known points? x = sort(rand(9, 1)); y = sort(rand(9, 1)); plot(x, y, '.-', ...

14 dagen ago | 0

| accepted