Can anyone help me to solve this error in regionprops().
3 ビュー (過去 30 日間)
古いコメントを表示
This is the code.The stats is a table, in that MajorAxisLength() and MinorAxisLength() is showing as 0*0 (double)
gray = imread('CYST RENAL-37.jpg');
grayImage = rgb2gray(gray);
level = graythresh(gray);
BW = imbinarize(gray,level);
stats = regionprops('table',BW,'Centroid',...
'MajorAxisLength','MinorAxisLength');
centers = stats.Centroid;
diameters = mean([stats.MajorAxisLength stats.MinorAxisLength],2);
radii = diameters/2;
Pls help me to solve this error. Any help is appreciated
3 件のコメント
Walter Roberson
2021 年 5 月 24 日
Also I wonder if using "equivalent diameter" property would happen to be appropriate for your case.
回答 (1 件)
Walter Roberson
2021 年 5 月 25 日
gray = imread('CYST RENAL-37.jpg');
grayImage = rgb2gray(gray);
BW = imbinarize(grayImage);
stats = regionprops('table',BW,'Centroid',...
'MajorAxisLength','MinorAxisLength');
centers = stats.Centroid;
diameters = mean([stats.MajorAxisLength stats.MinorAxisLength],2);
radii = diameters/2;
You were trying to imbinarize() the RGB image, not the gray image.
Also, imbinarize() automatically determines the threshold by calling graythresh if you do not pass in a level.
0 件のコメント
参考
カテゴリ
Help Center および File Exchange で Image Segmentation and Analysis についてさらに検索
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!