Filter löschen
Filter löschen

Get the pixel index value of a particular area of an image

18 Ansichten (letzte 30 Tage)
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 !

Akzeptierte Antwort

Image Analyst
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
Piyum Rangana
Piyum Rangana am 5 Mär. 2017
Hi sir, thanx for the answer.
The "index value of each pixel" I meant is the location of pixels(row, col) values. Actually the location of every pixels inside each label.
I need that to inpaint the labeled areas in my own algorithm using new pattern.
Anyway what I need is to get the location of the pixel values covered in each label.
thanx again !!
Image Analyst
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);

Melden Sie sich an, um zu kommentieren.

Weitere Antworten (0)

Community Treasure Hunt

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

Start Hunting!

Translated by