bwboundaries関数についてです。
4 visualizaciones (últimos 30 días)
Mostrar comentarios más antiguos
Nagae Ryoya
el 10 de Oct. de 2019
Comentada: Etsuo Maeda
el 23 de Oct. de 2019
画像のセグメンテーション後、
閾値を設定し、
画像の二値化、
’imfill’を用いた二値化画像の穴埋め、
’bwmorph’によるエッジ化、
’imbidilate’,’imfill’,’imerode’を用いたモルフォロジー処理、
二値化画像のクリーンナップを行ったあと、bwboundaries関数を使いたいのですが、うまくいきません。
jpg拡張子の画像を読み込ませています。
解決策はありますか?
2 comentarios
Yoshio
el 11 de Oct. de 2019
どのようにうまくいかないのか、エラーが出るのか、意図したように動作しないのか、具体的に、できればデータとうまくいかないプログラムを添付して説明いただけないでしょうか。
Respuesta aceptada
Etsuo Maeda
el 17 de Oct. de 2019
Editada: Etsuo Maeda
el 17 de Oct. de 2019
レスポンスが止まっているみたいなので、回答しておきます。
エラー出力を下から読んでみてください。
エラー: imbinarize
I は以下のいずれかのタイプが必要です:
uint8, uint16, uint32, int8, int16,
int32, single, double
実際の型は logical でした。
エラー: imbinarize>validateImage (line
261)
validateattributes(I,supportedClasses,supportedAttribs,mfilename,'I');
エラー: imbinarize>parseInputs (line
197)
validateImage(I);
エラー: imbinarize (line 133)
[I,isNumericThreshold,options] =
parseInputs(I,varargin{:});
エラー: matumaru2 (line 52)
BW=~imbinarize(kaki_th);
"二値化画像のクリーンナップを行ったあと、bwboundaries関数を使いたいのですが、うまくいきません。"
と質問されていますが、bwboundaries関数でエラーになっているのではなく、その一行前の imbinarize関数でエラーになっています。
matumaru2 の imbinarizeでエラーになっているのは、imbinarize の validateImageでエラーになっていることが原因です。
validateImageが何をしているのかは、一見わからないと思いますが、エラーメッセージを読めばわかるはずです。
エラー: imbinarize
I は以下のいずれかのタイプが必要です:
uint8, uint16, uint32, int8, int16,
int32, single, double
実際の型は logical でした。
つまり、imbinarizeは
uint8, uint16, uint32, int8, int16,
int32, single, double
の入力を受け付けますが、実際に入力された kaki_th は logical であったためにエラーになっています。
doc imbinarize
で入力引数の制限を確認してみてください。
imbinarizeは入力を1/ 0 にする関数で、logicalの配列は最初から1/ 0 なので、当たり前といえば当たり前のエラーですね。
BW を kaki_th の1/ 0 を反転したものにしたいのであれば、
BW = ~kaki_th;
としておけば良さそうです。
HTH
Más respuestas (0)
Ver también
Categorías
Más información sobre モルフォロジー演算 en Help Center y File Exchange.
Productos
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!