質問: 画像処理の入力について こちらの動画を参考にして自分の持っている画像の二値化を行ったら、エラーが出て、「入力がlogical(バイナリ)の場合は2次元でなければなりません。」といったメッセージが出たのですが、どういう意味かわかりません。 また、アプリから「イメージの領域解析」を使ってファイルからイメージの読み込みを行ったのですが、「入力イメージのクラスはlogicalでなければなりません。」とでました。この「入力はlogical」の意味がよく分かりません。 よろしくお願いいたします。
回答: i=imread('onion.png'); ig=rgb2gray(i); b=imbinarize(ig); こんにちは、logicalは、1か0かの値を持っていて、真が偽かなどの判別に使われることもあります。 詳しくは、下のurlをご参照ください。またネットで、「matlab logical」と検索すればたくさん出てくるので適宜ご参照ください https://jp.mathworks.com/help/matlab/ref/logical.html アプリの件ですが、上のように、2値化した画像 b を読み込めば、うまくアプリを使用できます。 あらかじめ、自分で前処理をしておき、それをアプリに読み込ませるイメージと思います。 はじめのエラーのほうは、あまり状況が想像できずわかりません。ただ、下のurlを実際に動かしながら 変数の形などを見比べて、ご自身のものと比較すればわかると思います。 https://jp.mathworks.com/help/images/ref/imbinarize.html