ページ 11

画像情報処理について

Posted: 2016年1月09日(土) 23:54
by ちぐさ
課題で、みかんが5個ある写真(背景は白)があり、みかんだけを囲むプログラムを作れと言われました。

とりあえず、輪郭を出せと言われ二値化したのですが・・そのあとの囲み方がよくわからず困っています。

よろしければ助言をお願いします。

Re: 画像情報処理について

Posted: 2016年1月11日(月) 10:25
by usao
二値化の結果として
みかんな領域と背景領域とを分けることができている,ということでしょうか?

であれば,「輪郭」とはその2つの領域の境界(接している部分)ではないでしょうか.
たとえば,
「みかん領域に属する画素であって,且つ,その画素に隣接する画素群の少なくとも一つが背景領域に属する」
ような画素が「輪郭」に属する画素だとすることができるでしょう.

Re: 画像情報処理について

Posted: 2016年1月11日(月) 22:45
by ちぐさ
わかりやすい解答ありがとうございます。

輪郭を囲むのなら分かるのですが・・そのみかん本体の周りを四角で囲む場合はどうすればいいのでしょうか?

Re: 画像情報処理について

Posted: 2016年1月11日(月) 23:28
by たいちう
輪郭が判るなら、輪郭の画素のX座標Y座標それぞれの最大最小を求めるだけです。

Re: 画像情報処理について

Posted: 2016年1月12日(火) 09:55
by usao
>みかんが5個

この みかん達が,絵的に互いに重なっているか否かによって難易度は大きく変わると思います.


(1)ある2つのみかんの間にはかならずスペースがある(背景で領域が分離されている)ならば
「輪郭」である画素を5つのグループに分けることができれば,
あとは たいちうさんが説明されている方法 を5グループに個別に適用すればよいでしょう.

・グループ分けする方法は「輪郭追跡」だとか「ラベリング」等で調べると良いかもです.
・輪郭がきれいにつながっておらず,一部途切れたりしている場合は,(程度によりますが)「モルフォロジ」あたりが使えるかも?


(2)みかんが絵的に重なっている(みかんAの一部が,それより手前にあるみかんBによって隠れている,みたいな)場合は…
そう簡単にはいかないでしょう.何かしら(問題依存な?)工夫が必要かもです.