regionprops関数における「MAPはm行3列の配列でなければなりません」というエラーについて
1 回表示 (過去 30 日間)
古いコメントを表示
現在ヒトのシルエット画像から重心を求めるということを行っているのですが、概要に書いたようなエラーが出てしまいます。
こちらのエラーが画像が処理できる構造ではないため起きているエラーだということは分かったのですが具体的に何が問題となっているのかが判明していません。どなたかご教授いただけないでしょうか。
3 件のコメント
採用された回答
Shunichi Kusano
2021 年 11 月 8 日
情報ありがとうございます。
エラーを見るとまずこれはrgb2hsvという関数で起きていまして、regionprops関数は無関係です。rgb2hsvにはカラー画像を入力しなければいけませんが、おそらく2値画像を入れてしまっていてエラーとなっているのではないかと思います。region1という関数の中でどういう処理が走っているか一行ずつ見ていくのが解決の近道かと思います。
6 件のコメント
Shunichi Kusano
2021 年 11 月 8 日
重心位置はregionprops関数で得ていると思いますがこの関数は二値化画像を受け付けます。問題となっているrgb2hsvは前処理、つまり元画像を二値化する過程で使っているのではないでしょうか。
今回お手元にある2値画像をそのまま使って重心計測したいということですので、regionprops関数をそのままお使いになるのがいいと思います。
使い方はregion1の中を見れば可視化の部分も含めてわかるのではないかと思います。詳細は次のドキュメントをご覧ください。重心を計測したい場合の、プロパティ名はCentroidとなります。
その他の回答 (0 件)
参考
カテゴリ
Help Center および File Exchange で イメージ タイプの変換 についてさらに検索
製品
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!