BLOG

 

235日のセブIT留学  成長日記「Pythonで画像解析_色分け!②」 ( 48/235 days )

25 8月 2018, Posted by keisuke in IT留学, プログラミング

こんばんわ!Keisukeです!

 

前回の続きです!

画像の色分け

※ OpenCVなどのライブラリを使用せずに理論を理解しながらコードを作成します。

 

前回は各種, 色情報の抽出とヒストグラム作成しました!

 

画像の色分けをするにあたり,考えなければならない要素は以下です

① ヒストグラムからどの色情報が最も多いか?

② 明暗の影響と色の分布が全く等しい場合の色分け

③ 色の分布が全く等しい場合の色分け

 

① ヒストグラムからどの色情報が最も多いか?

画像の色情報は, 0~255の間の数値が画素数分存在しており, ヒストグラムの存在分布を足し合わせるとR,G,Bは同じ数値を示します。

 

赤色単色の場合 RGB = [255,0,0]

画素全てが上記の情報を持っている場合ヒストグラムは, Rは255, G,Bは0で存在分布が突出した形状になるため積分値によるヒストグラムの面積量からは求めにくそうです。

 

・積分値, 平均値, 偏差からはどの色が多いかを判断することはできそうにありません。

※平均値は可能性あるかもです

 

方針①

・光の3原色から色の明るいものほど主張が強いため, ヒストグラムのX軸とY軸を掛け合わせた状態で積分値を取得し比較する

 

方針②

・方針①に利用するヒストグラムのY軸を存在分布の比率にして積分値を比較する

 

方針③

・平均値を算出し, 平均値以上の数値で積分し比較する

 

評価方法

・単色の画像を利用し正しい比較ができているか

・目視で赤系統だとわかる画像で比較する

 

② 明暗の影響

光の3原色から明るいほど色の主張が強くなります

R:255

G:0

B:50

上記の色情報が全ての画素の場合は, RとBの分布は同じになりますが視覚的には明るい赤紫となります

この場合は, 人の目視による感覚を優先して明るい色情報に振り分けることとします

 

また,

R:255

G:0

B:255

のような明るい紫の場合は紫という振り分けにすることとします

 

振りわけの種類は

① R>G,B : 赤色

② G>R,B : 緑色

③ B>R,G : 青色

④ R=G>B : 黄色

⑤ G=B>R : 水色

⑥ B=R>G : 紫色

⑦ R=G=B : グレー(0,0,0:黒, 255,255,255:黒)

 

上記の方針で最も良い方法を色分けのコードに利用したいと思います。

いいのがあれば…

 

[今日の達成]

・色分けの理論を考えた!

 

[今日の未消化]

・他の色分け方法を考える

 

Post a comment