bwareaopen関数の入力引数について

4 views (last 30 days)
matlabで、bwareaopen関数を用いて、プログラムを組もうとしました。
第一引数には、画像を、第二引数にピクセル数を入力すると動作しました。
しかし、第二引数に、変数を入れると、どうしてもデータ型が合わず、プログラムを実行することができません。
変数の型をどのように変えると動作させることができるでしょうか。
よろしくお願いします。

Accepted Answer

Atsushi Ueno
Atsushi Ueno on 30 Aug 2021
上記リンク箇所(引数Pの説明)と、実際にエラーを出した際に確認出来るbwareaopen内のvalid関数より、「double型・スカラ値・整数・非負」の値を設定する必要があります。なので、(ベクトルの場合)添え字を指定して、四捨五入して、絶対値を取り、double型にキャストすれば間違いなく入力できます。
下記はエラーを出してみて結果をキャプチャしたものです。
下記はサンプルコードです。
BW = logical(randi(2,100)-1);
variable = 1000;
BW2 = bwareaopen(BW,double(abs(round(variable(1)))));

More Answers (0)

Community Treasure Hunt

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

Start Hunting!