画像解析で二次元化ができていない

12 次查看(过去 30 天)
TOMONO
TOMONO 2020-5-21
评论: TOMONO 2020-5-21
画像解析をして、図中に存在する楕円の長さの測定を試みています。
エラーが出てしまいます。
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
Hiroki Okawa 2020-5-21
Toolboxが手元にないのですが、まずは
size(I)
size(BW)
を実行してみてはいかがでしょうか。
おそらくjpeg画像がRGBチャンネルを持っているため配列のサイズが [M, N, 3]となっており、二値化した変数も[M, N, 3]になっているのではないかと予測しております。
TOMONO
TOMONO 2020-5-21
ありがとうございます。
教えていただいた通りに実行したところできました。
解説付きでありがとうございます。

请先登录,再进行评论。

采纳的回答

Kenta
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)にします。
  1 个评论
TOMONO
TOMONO 2020-5-21
ありがとうございました。
matlab初心者の私にわかりやすく教えていただきありがとうございます。
無事に実行することができました!

请先登录,再进行评论。

更多回答(0 个)

Community Treasure Hunt

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

Start Hunting!