25,193 total contributions since 2010

Senior Scientist 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. 37+ 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

Compute Histogram of an image using loops

Here's a hint. As you said, you need a loop (one or two depending on how you do it) So you'll have something like this for the...

Compute Histogram of an image using loops

Here's a hint. As you said, you need a loop (one or two depending on how you do it) So you'll have something like this for the...

18 hours ago | 0

Answered

Color-based object recognition

See my File Exchange for color segmention algorithms <http://www.mathworks.com/matlabcentral/fileexchange/?term=authorid%3A31862...

Color-based object recognition

See my File Exchange for color segmention algorithms <http://www.mathworks.com/matlabcentral/fileexchange/?term=authorid%3A31862...

21 hours ago | 0

Answered

i have divided the image into blocks now, i want to access each block individually and i compute histogram how do i access each block

You have the block so just pass it into histogram() h = histogram(Block(:,:,k+j));

i have divided the image into blocks now, i want to access each block individually and i compute histogram how do i access each block

You have the block so just pass it into histogram() h = histogram(Block(:,:,k+j));

23 hours ago | 0

Answered

Finding an equally spread subselection of XY-points

Try this: % Make 100 randomly located points between 0 and 100 x = 100 * rand(1, 100); y = ones(1, length(x)); sub...

Finding an equally spread subselection of XY-points

Try this: % Make 100 randomly located points between 0 and 100 x = 100 * rand(1, 100); y = ones(1, length(x)); sub...

23 hours ago | 0

Answered

Can anyone say how to divide an image in 6 parts?

FAQ: <http://matlab.wikia.com/wiki/FAQ#How_do_I_split_an_image_into_non-overlapping_blocks.3F>

Can anyone say how to divide an image in 6 parts?

FAQ: <http://matlab.wikia.com/wiki/FAQ#How_do_I_split_an_image_into_non-overlapping_blocks.3F>

24 hours ago | 0

Answered

How to resize many images and putting them back in a folder for using them in "image category classification"?

It sounds like the utility resizes the images but does not name them correctly, if that's what you mean by "labelled". You can ...

How to resize many images and putting them back in a folder for using them in "image category classification"?

It sounds like the utility resizes the images but does not name them correctly, if that's what you mean by "labelled". You can ...

1 day ago | 0

| accepted

Answered

how can i vectorize this loop?

Well you could try meshgrid() but I think it might make it a little more confusing to understand what it's doing. With only 100...

how can i vectorize this loop?

Well you could try meshgrid() but I think it might make it a little more confusing to understand what it's doing. With only 100...

2 days ago | 1

Answered

The code below generates random points inside a regular hexagon. I need the second coordinate y of the points to be an angle from 0:2pi. How can I modify the code please?

Something like yAngle = atan2(y, x);

The code below generates random points inside a regular hexagon. I need the second coordinate y of the points to be an angle from 0:2pi. How can I modify the code please?

Something like yAngle = atan2(y, x);

2 days ago | 0

Answered

How to do a 2D convolution result with the log operator for an Image.

That has nothing to do with log. That's a standard Laplacian high boost filter. Here, try this: grayImage = imread('peppe...

How to do a 2D convolution result with the log operator for an Image.

That has nothing to do with log. That's a standard Laplacian high boost filter. Here, try this: grayImage = imread('peppe...

2 days ago | 1

| accepted

Answered

help image processing code

Set up your scroll bar to have 135 as the max and 1 as the min. Then in the scrollbar callback function: scrollBarValue = ...

help image processing code

Set up your scroll bar to have 135 as the max and 1 as the min. Then in the scrollbar callback function: scrollBarValue = ...

2 days ago | 0

| accepted

Answered

How can I modify this code below to generate random points inside a regular hexagon and then get the points in a vector?

Instead of generating _randomly located vertices_, you need to put vertices for your hexagon. I assume you know how to do this....

How can I modify this code below to generate random points inside a regular hexagon and then get the points in a vector?

Instead of generating _randomly located vertices_, you need to put vertices for your hexagon. I assume you know how to do this....

2 days ago | 0

Answered

How to remove AWGN noise from Electric Field Signals

How about smoothing it with medfilt1(), conv(), or sgolayfilt()?

How to remove AWGN noise from Electric Field Signals

How about smoothing it with medfilt1(), conv(), or sgolayfilt()?

2 days ago | 0

Answered

IY component is the normalized version of the original intensity channel and how to segment it using the bi-level thresholding method for doing background seperation

Try imbinarize(). If that doesn't work, then attach your image. Usually when people want image processing advice, they attach ...

IY component is the normalized version of the original intensity channel and how to segment it using the bi-level thresholding method for doing background seperation

Try imbinarize(). If that doesn't work, then attach your image. Usually when people want image processing advice, they attach ...

2 days ago | 0

| accepted

Answered

Automatic Signal segmentation for feature extraction

Attach some signals so we can play with them. Assuming the "tall" parts of the signal are not uniformly spaced (in which ca...

Automatic Signal segmentation for feature extraction

Attach some signals so we can play with them. Assuming the "tall" parts of the signal are not uniformly spaced (in which ca...

2 days ago | 0

| accepted

Answered

Analysis of Surface Roughness

You can use functions like sqrt(), mean(), etc. Most of the formulas are pretty simple.

Analysis of Surface Roughness

You can use functions like sqrt(), mean(), etc. Most of the formulas are pretty simple.

2 days ago | 0

Answered

How to find average?

Maybe say avgpayoff(i) = sumpayoff/numflips % Get payoff for this iteration. Then after the loop do meanPayOff = me...

How to find average?

Maybe say avgpayoff(i) = sumpayoff/numflips % Get payoff for this iteration. Then after the loop do meanPayOff = me...

3 days ago | 0

Answered

why do i get error when using *?

Try this: f = x .^ 2 .* exp(x) + x .* (x + log10(x)) .^ (1/2)

why do i get error when using *?

Try this: f = x .^ 2 .* exp(x) + x .* (x + log10(x)) .^ (1/2)

3 days ago | 0

Answered

Same software - new computer

Call the Mathworks tech support on Monday. They will walk you through it. We can't really help. <http://matlab.wikia.com/wi...

Same software - new computer

Call the Mathworks tech support on Monday. They will walk you through it. We can't really help. <http://matlab.wikia.com/wi...

3 days ago | 0

Answered

How to remove irregular shaped cells in this image?

OK, here, try this, adjusting thresholding parameters as needed. clc; % Clear the command window. close all; % C...

How to remove irregular shaped cells in this image?

OK, here, try this, adjusting thresholding parameters as needed. clc; % Clear the command window. close all; % C...

3 days ago | 0

| accepted

Answered

How to remove irregular shaped cells in this image?

What is your definition of irregular? I see lots of roundish blobs with hairy borders, like the two large yellow blobs, that ar...

How to remove irregular shaped cells in this image?

What is your definition of irregular? I see lots of roundish blobs with hairy borders, like the two large yellow blobs, that ar...

3 days ago | 0

Answered

Using image processing tool measure the angle

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

Using image processing tool measure the angle

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

3 days ago | 0

Answered

count number of ones in binary matrix

Do you really only care about the outer perimeter? So if the center is a 1, you want to ignore that? If so: mTemp = m; % ...

count number of ones in binary matrix

Do you really only care about the outer perimeter? So if the center is a 1, you want to ignore that? If so: mTemp = m; % ...

3 days ago | 0

Answered

save image seen in imagesc

Try using imwrite() to save your indexed image: imwrite(Img, filename);

save image seen in imagesc

Try using imwrite() to save your indexed image: imwrite(Img, filename);

3 days ago | 0

Answered

How can I transform points (pixel points) of the same different size images ?

Just multiply the row index of the points by the ratio of the row sizes, and the column index by the ratio of the column sizes. ...

How can I transform points (pixel points) of the same different size images ?

Just multiply the row index of the points by the ratio of the row sizes, and the column index by the ratio of the column sizes. ...

3 days ago | 0

| accepted

Answered

I want to create a function z=f(a,b)..how can I create like this using the below code?

MATLAB documentation tells you how to make functions. Like, to make your "f" function you'd do this: function z = f(a, b) ...

I want to create a function z=f(a,b)..how can I create like this using the below code?

MATLAB documentation tells you how to make functions. Like, to make your "f" function you'd do this: function z = f(a, b) ...

4 days ago | 0

| accepted

Answered

Plot the two functions for a specific range

You need to define M(i) in both cases because it will get referenced and printed in both cases. Also, don't use "elseif i >...

Plot the two functions for a specific range

You need to define M(i) in both cases because it will get referenced and printed in both cases. Also, don't use "elseif i >...

4 days ago | 0

Answered

I am making a mistake(s) but I can't catch it.

Close, but try it this way: age=[24,26,18,23,27,29,21,20,26,18,22,27]; height=[79 82 72 77 78 83 73 77 76 81 79 82]; ...

I am making a mistake(s) but I can't catch it.

Close, but try it this way: age=[24,26,18,23,27,29,21,20,26,18,22,27]; height=[79 82 72 77 78 83 73 77 76 81 79 82]; ...

4 days ago | 0

Answered

How to discard some portion of the image?

Use bwareafilt(): binaryImage = bwareafilt(binaryImage, [minArea, maxArea]); The values can range from 0 to inf.

How to discard some portion of the image?

Use bwareafilt(): binaryImage = bwareafilt(binaryImage, [minArea, maxArea]); The values can range from 0 to inf.

4 days ago | 0

Answered

How can I know which function that I used belongs to an additional toolbox rather than matlab?

Type control-shift-F to bring up the search dialog box. Tell it to search all *.m files in the path, or current folders and sub...

How can I know which function that I used belongs to an additional toolbox rather than matlab?

Type control-shift-F to bring up the search dialog box. Tell it to search all *.m files in the path, or current folders and sub...

4 days ago | 0

Answered

Find closest 8-connected chessboard distance between multiple pairs of points: shortest m-path

See Steve's 5-part blog series on shortest path distances in images: <http://blogs.mathworks.com/steve/2011/11/01/exploring-shor...

Find closest 8-connected chessboard distance between multiple pairs of points: shortest m-path

See Steve's 5-part blog series on shortest path distances in images: <http://blogs.mathworks.com/steve/2011/11/01/exploring-shor...

4 days ago | 0