画像内の各色毎の割合算出方法について
显示 更早的评论
深層学習を使用したセマンティックセグメンテーションでの画像のセグメント後に、各ラベル毎の画像内に占める割合を算出したいのですが方法がわかりません。解決策がありましたらご回答の程よろしくお願い致します。
采纳的回答
更多回答(1 个)
2 个评论
Atsushi Ueno
2021-11-28
私はMATLAB Answersのlive editorで実行する事だけを考えた為、その点回答を端折ってしまいました。countEachLabel関数の対象は(イメージ)データストアです。画像1枚分のデータストアに対しては1枚分の結果を表示します。しかしそれでは本質問の主旨に対する回答になりませんよね。
質問の趣旨(複数の画像が含まれるデータストアの処理に関して、画像1枚だけの結果を表示したい)に対しては、データストアを分割する必要があります。その点後ほど1番目の回答に追記致します。
Atsushi Ueno
2021-11-29
そうですね。下記のように色々と疑問点があります。
skyClassIds = uint8([1]); これはSkyのラベルIDが1ではないからなのでしょうか⇒そう思います
skyPixels = ismember(y(:),skyClassIds); 画素値とクラスIDを比較する根拠は?
validPixels = (y~=0); ← 単に縦×横で良く、画素値=0を除く必要は無いのでは?
numskyPixels = sum(skyPixels(:)) ← カラー画像なので3倍の値になる
numValidPixels = sum(validPixels(:)) ← カラー画像なので3倍の値になる
せっかくImage Processing Toolboxを使ってるのですから、回答に挙げたcountEachLabel関数を使うのはいかがでしょうか。
类别
在 帮助中心 和 File Exchange 中查找有关 セマンティック セグメンテーション 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!


