- your image is grayscale and is called img;
- the central pixel is at column x and row y;
- the radius of the circle is r;
- you do not require weighting at the rim of the circle - that is, each pixel is either entirely inside or entirely outside the circle;
How can I get the values of a circular region around a particular pixel?
2 Ansichten (letzte 30 Tage)
Ältere Kommentare anzeigen
Nafeesath Musfira
am 3 Nov. 2014
Kommentiert: Image Analyst
am 8 Nov. 2018
How can I get the values of a circular region around a particular pixel?
0 Kommentare
Akzeptierte Antwort
David Young
am 3 Nov. 2014
Assuming:
then you can do something like this
[xgrid, ygrid] = meshgrid(1:size(img,2), 1:size(img,1));
mask = ((xgrid-x).^2 + (ygrid-y).^2) <= r.^2;
values = img(mask);
where values will have a column vector containing the values in the circular region.
3 Kommentare
Jennifer Bernier
am 7 Nov. 2018
I'm doing something similar but with 5000 unique circular ROIs on a single image, and I can't figure out how to scale this method without using a loop (which takes a long time). Does anyone have any suggestions?
Image Analyst
am 8 Nov. 2018
5000 iterations of a for loop should take only a few microseconds Here is the timing on my system:
Elapsed time is 0.000010 seconds.
So, 10 microseconds. If yours is taking a lot longer, then there is something else that's taking the time, it's not the for loop itself.
Weitere Antworten (1)
Image Analyst
am 3 Nov. 2014
% Demo to have the user freehand draw an irregular shape over a gray scale image.
% Then it creates new images:
% (1) where the drawn region is all white inside the region and untouched outside the region,
% (2) where the drawn region is all black inside the region and untouched outside the region,
% (3) where the drawn region is untouched inside the region and all black outside the region.
% It also (4) calculates the mean intensity value of the image within that shape,
% (5) calculates the perimeter, centroid, and center of mass (weighted centroid), and
% (6) crops the drawn region to a new, smaller separate image.
0 Kommentare
Siehe auch
Kategorien
Mehr zu Parallel and Cloud finden Sie in Help Center und File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!