regionprop​s関数における「MA​Pはm行3列の配列で​なければなりません」​というエラーについて

조회 수: 1 (최근 30일)
悠太 上田
悠太 上田 2021년 11월 1일
댓글: 悠太 上田 2021년 11월 8일
現在ヒトのシルエット画像から重心を求めるということを行っているのですが、概要に書いたようなエラーが出てしまいます。
こちらのエラーが画像が処理できる構造ではないため起きているエラーだということは分かったのですが具体的に何が問題となっているのかが判明していません。どなたかご教授いただけないでしょうか。
  댓글 수: 3
悠太 上田
悠太 上田 2021년 11월 7일
コメント頂きありがとうございます。
出てしまったエラーは以下のものです。
エラー: rgb2hsv>parseInputs (95)
MAP は M x 3 の配列でなければなりません。
エラー: rgb2hsv (36)
[r, g, b, isColorMap, isEmptyInput, isThreeChannel] = parseInputs(varargin{:});
エラー: region1 (7)
I = rgb2hsv(RGB);
そして重心を評価したい画像はこちらです。
悠太 上田
悠太 上田 2021년 11월 7일
コード自体は先輩が製作したものを使用させていただいており先輩が使用したコードで先輩が評価した画像で試してみても私のMATLABではこのエラーが出てしまうので原因がわからない状態にあります。

댓글을 달려면 로그인하십시오.

채택된 답변

Shunichi Kusano
Shunichi Kusano 2021년 11월 8일
情報ありがとうございます。
エラーを見るとまずこれはrgb2hsvという関数で起きていまして、regionprops関数は無関係です。rgb2hsvにはカラー画像を入力しなければいけませんが、おそらく2値画像を入れてしまっていてエラーとなっているのではないかと思います。region1という関数の中でどういう処理が走っているか一行ずつ見ていくのが解決の近道かと思います。
  댓글 수: 6
Shunichi Kusano
Shunichi Kusano 2021년 11월 8일
重心位置はregionprops関数で得ていると思いますがこの関数は二値化画像を受け付けます。問題となっているrgb2hsvは前処理、つまり元画像を二値化する過程で使っているのではないでしょうか。
今回お手元にある2値画像をそのまま使って重心計測したいということですので、regionprops関数をそのままお使いになるのがいいと思います。
使い方はregion1の中を見れば可視化の部分も含めてわかるのではないかと思います。詳細は次のドキュメントをご覧ください。重心を計測したい場合の、プロパティ名はCentroidとなります。
悠太 上田
悠太 上田 2021년 11월 8일
参考になりました。
ありがとうございます。

댓글을 달려면 로그인하십시오.

추가 답변 (0개)

제품

Community Treasure Hunt

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

Start Hunting!