Regionprops returns NaN as centroid value for a Label

10 ビュー (過去 30 日間)
SreeHarish Muppirisetty
SreeHarish Muppirisetty 2013 年 8 月 29 日
Hi This I encountered while trying to relabel my labeling matrices for each of the 97 images I have. My Image Labels as got from below command: unique(filteredimagelabels{19}.L(filteredimagelabels{19}.L~=0)) % Here 19 number is my Image No.19
ans =
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
17
18
19
20
21
22
Total number of labels present in this Label matrix, as in the below command: length(unique(filteredimagelabels{19}.L(filteredimagelabels{19}.L~=0)))
ans =
21
After I applied region props, to the above Label matrix to generate new centroids and other properties, as in the below command:
testforimage19=regionprops(filteredimagelabels{19}.L,{'Centroid','Pixelidxlist'});
The number of fields I am getting in my testforimage19 are 22 (to the expected 21).
I checked my Centroid values for each of the fields in the testforimage19, turns out to be that: testforimage19(16).Centroid % 16 is ofcourse the ROI/Label in Image 19
ans =
NaN NaN
and, I also tried to get Pixel-ids (indices of label 16, for which Centroids were NaN, as seen above)
testforimage19(16).PixelIdxList
ans =
Empty matrix: 0-by-1
What mistake am I doing? I need some inputs. If not clear, shall try to explain more.
Thanks in advance
Harish

採用された回答

Image Analyst
Image Analyst 2013 年 8 月 29 日
Why/how are you filtering before calling regionprops? Why did blob #16 get removed? It gives results based on the label number, and since you didn't pass it a blob labeled 16, what would you expect it to pass back for that blob number? The only thing it could do is pass back something like null or nan. Yes, this is confusing but you brought it upon yourself when you passed it a labeled image with one of the labels missing. Normally one passes in a labeled image with all the labels there and you do the filtering AFTER calling regionprops, not before like you did it. Explain why you are filtering before, because this is why #16 got removed in image #19.
  7 件のコメント
Image Analyst
Image Analyst 2013 年 8 月 30 日
I would. So do other people who do motion tracking and prediction - just look in VisionBib.
SreeHarish Muppirisetty
SreeHarish Muppirisetty 2013 年 8 月 30 日
Looks like a ton of conceptual information is in there.
Thanks for your time, once again.
Harish

サインインしてコメントする。

その他の回答 (1 件)

Anand
Anand 2013 年 8 月 29 日
The regionprops function tries searching for the component with label 16, which you seem to have filtered out. So, this component doesn't exist. So, whats the centroid of a component that has no pixels in it or is non-existant?
NaN seems like a good answer to me.
  1 件のコメント
SreeHarish Muppirisetty
SreeHarish Muppirisetty 2013 年 8 月 30 日
Hi Anand
Thanks for the input. Yes, I agree.

サインインしてコメントする。

Community Treasure Hunt

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

Start Hunting!

Translated by