画像解析で二次元化ができていない
12 次查看(过去 30 天)
显示 更早的评论
画像解析をして、図中に存在する楕円の長さの測定を試みています。
エラーが出てしまいます。
I = imread('crystal.jpeg'); %画像読み込み
BW = imbinarize(I); %二値化
imshowpair(crystal,BW,'montage'); %画像表示
stats = regionprops('table',BW,'MajorAxisLength','MinorAxisLength')
としたときに下のようなエラーが出てしまいます。
警告: ndims(L) > 2 の場合、これらの測定値はサポートされていません: MajorAxisLength
MinorAxisLength 。
> In regionprops>NoNDSupport (line 1440)
In regionprops>PreprocessRequestedStats (line 1471)
In regionprops>InitializeStatStructures (line 1411)
In regionprops (line 228)
In gazo (line 4)
エラー: regionprops>InitializeStatStructures (line 1415)
プロパティが選択されていないか、または適用可能なものがありません。
エラー: regionprops (line 228)
[stats, statsAlreadyComputed] = InitializeStatStructures(imageSize, ...
エラー: gazo (line 4)
stats = regionprops('table',BW,'MajorAxisLength','MinorAxisLength')
二値化できていないのでしょうか。よろしくお願いいたします。
2 个评论
Hiroki Okawa
2020-5-21
Toolboxが手元にないのですが、まずは
size(I)
size(BW)
を実行してみてはいかがでしょうか。
おそらくjpeg画像がRGBチャンネルを持っているため配列のサイズが [M, N, 3]となっており、二値化した変数も[M, N, 3]になっているのではないかと予測しております。
采纳的回答
Kenta
2020-5-21
clear;clc;close all
I = imread('strawberries.jpg'); %画像読み込み
I = rgb2gray(I);%このコードを加える
BW = imbinarize(I); %二値化
imshowpair(I,BW,'montage'); %画像表示
stats = regionprops('table',BW,'MajorAxisLength','MinorAxisLength') ;
こんにちは、Hiroki Okawaさまのおっしゃるようにregionpropsのために、グレースケール画像を入力しなければなりません。そのため、rgb2grayで入力画像を白黒(BW: black and white)にします。
更多回答(0 个)
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 イメージ タイプの変換 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!