What do the pixelIdxlist mean?

조회 수: 17 (최근 30일)
Sk
Sk 2020년 2월 17일
댓글: Sk 2020년 2월 24일
Hi, i used the bwconncomp in the matlab for an image. The resultant is a struct with 4 fields and the pixelIdxList field in that has size of 1x801 with some numbers in each column. What are those numbers actually? What do they signify? For e.g. what 98475, 98586 in CC{5,2} means?

답변 (2개)

Hyeokjin Jho
Hyeokjin Jho 2020년 2월 18일
Let's say your image input for bwconncomp is BW. i.e.
CC = bwconncomp(BW);
Then CC.pixelIdxList{i} is linear indices of i-th identified component in BW.
You can index that component in the image BW using this value. For example
BW(CC.pixelIdxList{10}) = false;
will make 10th component in BW become false.
  댓글 수: 9
Image Analyst
Image Analyst 2020년 2월 24일
Sk, yes you did when you did this:
length(x,i) = length(x(i));
You're using the length() function to take the length of x(i) (which is probably just 1 if x(i) is a scalar), and then putting that length value (1) into a 2-D matrix called "length", because, of course, you can't assign a function to a value. So what that did was to essentially overwrite the length() function with a new variable called length. So the next time the loop iterates, it won't call the length function but will instead try to get the element of the length matrix at the x(i)'th location.
Sk
Sk 2020년 2월 24일
Okay Image Analyst i got. Since that is the index of the cell i gave like that. Then how else that can be given? For the above posted image, for eg. how can i get the values in cell (3,1) ?

댓글을 달려면 로그인하십시오.


Image Analyst
Image Analyst 2020년 2월 21일
Sk, are you trying to filter based on blob size? If so, check out bwareaopen() or bwareafilt().
  댓글 수: 3
Image Analyst
Image Analyst 2020년 2월 24일
All areas are continuously connected to something, except for the sole case of isolated single pixels.
Post your image and indicate (like with arrows or outlines or something) which blobs are the ones you want to keep (the "connected contiously" ones), and which you want to exclude (the "not continously connected" ones).
Sk
Sk 2020년 2월 24일
In this image, im trying to get the letters alone. As there are many other unwanted pixels around the letters in the image, i need to set the largely connected components as false and others as true, so that the letters alone are seen and the noisy pixels are made black.

댓글을 달려면 로그인하십시오.

Community Treasure Hunt

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

Start Hunting!

Translated by