Get the pixel index value of a particular area of an image
18 Ansichten (letzte 30 Tage)
Ältere Kommentare anzeigen
Piyum Rangana
am 5 Mär. 2017
Kommentiert: Image Analyst
am 5 Mär. 2017
Hi, here is my sudo code.
im=imread('myImage');
B=im2bw(im);
label=bwlabel(C);
max(max(label));
for j=1:max(max(label))
%%%%%The answer code goes here %%%%%%
end
As I mentioned in the code I am going to convert the RGB image into black and white image and then labels it.Just I want is the how to get the index value of pixels of each labeled area in to arrays separately. According to my image there are five labels and I want to get index values of pixels in each labeled areas in to five arrays. thanx !
0 Kommentare
Akzeptierte Antwort
Image Analyst
am 5 Mär. 2017
You don't need to do max(max(label)) because that just gives the number of regions, but has to scan every pixel in the image to do it, and you can get it directly from bwlabel:
[labeledImage, numberOfRegions] = bwlabel(B);
I have no idea what your "C" was.
And I don't know your definition of the "index value of each pixel". Is that the value of the labeled image at that point? Is it the (row, column) location of each non-zero pixel? Or something else? Why do you need it anyway? Why is the binary or labeled images not enough?
2 Kommentare
Image Analyst
am 5 Mär. 2017
For example, to get the rows and columns of blob #7 of the labeled image:
[rows, columns] = find(labeledImage == 7);
Weitere Antworten (0)
Siehe auch
Kategorien
Mehr zu Computer Vision with Simulink finden Sie in Help Center und File Exchange
Produkte
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!