画像情報処理について

フォーラム(掲示板)ルール
フォーラム(掲示板)ルールはこちら  ※コードを貼り付ける場合は [code][/code] で囲って下さい。詳しくはこちら
ちぐさ
記事: 2
登録日時: 3年前

画像情報処理について

#1

投稿記事 by ちぐさ » 3年前

課題で、みかんが5個ある写真(背景は白)があり、みかんだけを囲むプログラムを作れと言われました。

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

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

アバター
usao
記事: 1565
登録日時: 6年前

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

#2

投稿記事 by usao » 3年前

二値化の結果として
みかんな領域と背景領域とを分けることができている,ということでしょうか?

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

ちぐさ
記事: 2
登録日時: 3年前

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

#3

投稿記事 by ちぐさ » 3年前

わかりやすい解答ありがとうございます。

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

たいちう
記事: 418
登録日時: 9年前

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

#4

投稿記事 by たいちう » 3年前

輪郭が判るなら、輪郭の画素のX座標Y座標それぞれの最大最小を求めるだけです。

アバター
usao
記事: 1565
登録日時: 6年前

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

#5

投稿記事 by usao » 3年前

>みかんが5個

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


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

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


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

閉鎖

“C言語何でも質問掲示板” へ戻る