画像処理プログラミング - 立命館大学課題2 : 輝度値のヒストグラ...
TRANSCRIPT
画像処理プログラミング
知能情報システム創成2
画像処理とは?
• 画像処理 – 計算機による画像の撮影、生成、情報検知、計測
• コンピュータビジョン – 幾何学や人工知能の技術を応用した高度な画像処理、画像認識
– ものを掴む – 障害物をよけて歩く – 物体の識別
カメラとコンピュータ
目の代わりに カメラ
脳の代わりにコンピュータ
テレビ画像信号
• テレビ信号はアナログ
走査線
電圧
時間
デジタル画像 • 標本化、量子化により離散化
電圧
時間
明るさが整数値 になる
デジタル画像
• デジタル画像は整数値行列
100 12 80 95
255
ピクセル(画素) j
i
(黒)0‐255(白)
(i,j)の位置の画素値
読込&書込
濃淡画像
カラー画像
• 赤、緑、青の3枚のデジタル画像
デジタル画像処理とは?
• 一つもしくは複数のデジタル画像の各画素値を読み込んで、計算を行い、結果を各画素に書き込む作業である。
課題0 : サンプルの実行
• サンプルプログラムのコンパイルの仕方を理解する
• カラー画像のネガポジ反転画像の生成 • 画素のシーケンシャルアクセスを理解する
シーケンシャルアクセス
int piInput[]; for( i=0; i<iWidth*iHeight; i++ ) {
piInput[i]=255-piInput[i]; }
i=0
i=iWidth*iHeight-1 濃淡値の反転
課題1 :濃淡画像の生成
• カラー画像から白黒の濃淡画像(グレイ画像)を生成する
• RGBーYIQ色変換を理解する
課題2 : 輝度値のヒストグラムと二値画像
• 課題1で生成した濃淡画像を白黒二値化する処理を理解する
• 画素値のヒストグラムの作り方
濃淡画像 輝度値のヒストグラム 白黒2値画像
課題3:微分フィルタによるエッジ検出 • 濃淡画像に微分フィルタ処理(たたみこみ演算)を施すことによって、エッジ画像(線画)を生成する処理を理解する
|∇f |の可視化 (Sobelフィルタによる)
-1 0 1
-2 0 2
-1 0 1
-1 -2 1
0 0 0
1 2 1
X方向のsobel フィルタ Y方向のsobel フィルタ
課題4:パターンの検出 • テンプレートマッチングによる画像パターンを検出する方法を理解する
• SSDの計算 ( )∑∑−
=
−
=
−=1
0
1
0
2),(),(N
j
M
iSSD jiTjiIR
課題5:ラベリング • 二値画像の連結領域に同じラベル番号、離れた領域同士には異なる番号を割り当てる処理
http://imagingsolution.blog107.fc2.com/blog-entry-193.htmlより引用
二値画像 4連結 8連結
レポート
• 表紙をつける • 評価シートをつける
– 不備がある場合はコメントを記入して返却 – 再提出すること
• チェックリスト – レポートの満たすべき条件を記載している – 自己チェックしてすべて満たしてから提出
• 提出 – 課題2,4,5が終了した後、次回授業開始40分前までに指定されたポストに提出する。
ランダムアクセス
i=0
i=iHeight-1
j=0 j=iwidth-1
(i, j) (i, j+1) (i, j-1)
(i-1, j)
(i+1, j)
(i-1, j+1) (i-1, j-1)
(i+1, j-1) (i+1, j+1)
(i, j)指定のランダムアクセス → シーケンシャルアクセスへの変換が必要
微分フィルタ
100 200 200
210
190
100
110 190
110 180
190
200
210
100 100 100
-1 0 1
-2 0 2
-1 0 1
×(-1)
×(-2)
×(-1)
×0
×0
×0
×1
×2
×1