I have gaussian fitted a bead in an image and I have its x & y coordinate, standard deviation (std) of the gauss fit as well as amplitude (amp). Is there a way to reconstruct the bead from the x,y,std & amp values?

 Akzeptierte Antwort

Image Analyst
Image Analyst am 30 Okt. 2014

0 Stimmen

Try this:
grayImage = zeros(480, 640, 'uint8');
[rows, columns] = size(grayImage);
xCenter = 200;
yCenter = 300;
sigma = 50;
sigmaSquared = sigma^2;
amplitude = 255;
[X, Y] = meshgrid(1:columns, 1:rows);
grayImage = exp(-((X-xCenter).^2 + (Y-yCenter).^2) ./ sigmaSquared);
imshow(grayImage, []);
axis on

3 Kommentare

John
John am 30 Okt. 2014
I think i'm getting closer to what I'm looking for. Just curious, where do you use the amplitude = 255; ?
Image Analyst
Image Analyst am 31 Okt. 2014
Bearbeitet: Image Analyst am 31 Okt. 2014
You could use it like this:
grayImage = amplitude * exp(-((X-xCenter).^2 + (Y-yCenter).^2) ./ sigmaSquared);
I chose that so that the numbers would go from 0 - 255, and if they did, I could cast to uint8 and display it with imshow() without the []. But I must have forgotten to put it in when I remembered imshow() can display floating point images scaled to 0-255 for display if you use the [] as the second input argument.
If it's "closer" but not enough to officially "Accept" the answer, then let me know exactly what you are looking for. For example, attach a screenshot or image or something to fill in the details missing from your original question.
John
John am 31 Okt. 2014
Awesome, thanks.

Melden Sie sich an, um zu kommentieren.

Weitere Antworten (0)

Gefragt:

am 30 Okt. 2014

Kommentiert:

am 31 Okt. 2014

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by