画像内の各色毎の割合算出方法について
Show older comments
深層学習を使用したセマンティックセグメンテーションでの画像のセグメント後に、各ラベル毎の画像内に占める割合を算出したいのですが方法がわかりません。解決策がありましたらご回答の程よろしくお願い致します。
Accepted Answer
More Answers (1)
2 Comments
Atsushi Ueno
on 28 Nov 2021
私はMATLAB Answersのlive editorで実行する事だけを考えた為、その点回答を端折ってしまいました。countEachLabel関数の対象は(イメージ)データストアです。画像1枚分のデータストアに対しては1枚分の結果を表示します。しかしそれでは本質問の主旨に対する回答になりませんよね。
質問の趣旨(複数の画像が含まれるデータストアの処理に関して、画像1枚だけの結果を表示したい)に対しては、データストアを分割する必要があります。その点後ほど1番目の回答に追記致します。
Atsushi Ueno
on 29 Nov 2021
そうですね。下記のように色々と疑問点があります。
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関数を使うのはいかがでしょうか。
Categories
Find more on セマンティック セグメンテーション in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!


