はじめに
「デジタル画像について知りたい,加工したいけどどんなこと出来るの?」という人向け記事になります.
「実際に画像処理を知りたいぞ」って人には物足りないと思います.
※ 注意
実装などに関しては一切書いておりません.
個別に「解説+実装」と言う形で記事にしていくのでご了承ください
画像処理の全体像
画像処理の基本となる以下について,記載してあります.
- ピクセル Pixel
- 色調補正 Coloring
- フィルタ処理 Filtering
- 形状変形 Deformation, Transformation
- 合成 Blending, Composition
他に,分類Clusteringや解析Analysis,動画像を対象にした移動物体追跡Object Trackingもある.
さらに領域分割,周波数領域での画像処理など高度な技術を用いたものもあります.
そのうち記事にできるといいな,って感じです.
ピクセル / Pixel
ピクセルは画像を構成する最小要素となり,この値を操作して画像処理を行う.
ちなみに,3次元で立方体で構成するオブジェクトの最小要素がボクセル/Boxelと呼びます.
ピクセルの特徴は以下の通り.
- ピクセルは赤青緑の3色の情報で構成されている
- 各色の情報は0~255の整数値(負数や256以上の値がない)
- つまり,1ピクセルで256^3=16,777,216の色が表現できる
代表的な色をピクセルで表現すると以下の数値を指定する
\begin{align}
Color&=(r,g,b)\\
\\
White&=(255,255,255)\\
Black&=(0,0,0)\\
\\
Red&=(255,0,0)\\
Green&=(0,255,0)\\
Blue&=(0,0,255)\\
Yellow&=(255,255,0)\\
Cyan&=(0,255,255)\\
Magenta&=(255,0,255)\\
\end{align}
色調補正 / Coloring
ピクセルのRGBの値を操作して,画像を加工する方法.
スマートフォンの撮影アプリや画像編集アプリにある「XXX調」は色調補正によるものがほとんど.
色相を自動補正させるColor Harmonizationという技術なんかもある.
- N階調
- 2値化
- モノクロ化
- RGB平均によるモノクロ化
- Y値によるモノクロ化
- トーンカーブ
- セピア調
- 他の色空間を用いた色調補正
- HSV系
- XYZ系
- Lab系
フィルタ処理 / Filtering
フィルタ処理には,鮮鋭化や平滑化など色調補正だけではできないピクセルの操作ができるようになる.
数学的に言えば,「畳み込み演算」ってやつです.
ディープラーニングのCNN(Convolutional Neural-Network)では基本となる処理ですね.
- 鮮鋭化
- 鮮鋭化フィルタ
- 平滑化
- Average Filter
- Gaussian Filter
- Median Filter
- エッジ抽出
- Laplacian Filter
- Sobel Filter
- Canny Edge Detector
形状変形 / Deformation, Transformation
拡大縮小や回転など.
形状変形には,変形手段と変形計算,補間(Interpolation)の3つがキーとなる.
変形手段は画像全体を一律変形させる方法と,メッシュを利用して局所的に変形させる方法などがある.
メッシュ変形は柔軟性があるため,割りと重宝する.
3Dモデリングソフトではボーンを使った変形があり,それを2次元で応用することもある.(ボーン操作は直感的なので,インタフェイスとして打ってつけのため)
変形計算には,基本となるアフィン変形や射影変換がある.
高度な技術に調和関数(Harmonic Functions)を利用したHarmonic CoordinatesやGreen Coordinatesなどがある.(もう古いかな?)
Adobe Photoshopにある「コンテンツに応じて伸縮(?)」という機能は,画像変形の「Seam Carving」という技術を使ったものである.
- アフィン変形 / Affine Transformation
- アフィン変形は以下のことがまとめてできる
- 拡大縮小
- 回転
- スキュー
- アフィン変形は以下のことがまとめてできる
- 射影変換 / Projection Transformation
- 3次元で板・紙を傾けて見たときの見え方(?)のような変形が出来る
- 手前は大きく広く,奥は小さく窄まって見える感じ
- 3次元で板・紙を傾けて見たときの見え方(?)のような変形が出来る
- メッシュ変形
- 三角形や四角形をたくさん敷き詰めた”メッシュ”を変形させて部分的に自由に変形させる
- 補間
- 最近傍法 / Nearest Neighbors
- バイリニア法(双二次補間法) / Bi-linear
- バイキュービック法(双三次補間法) / Bi-cubic
合成 / Blending, Composition
2つの画像を1つに混ぜることを合成・混成などと言う.(単にブレンディングとも)
身近なものでは透過処理も1つの合成方法と言える.
ピクセルのRGBの他に合成度合いを示すアルファチャンネルを追加し,その度合いに応じて合成すると言うものが基本アイディアとなる.
これはアルファブレンディングという方法である.
画像の保存形式の1つでもあるPNGはこのアルファチャンネルも一緒に保存している.
- 単純合成
- 貼り付け処理 / Paste
- アルファブレンディング / Alpha Blending
- 割合に応じて合成
- Hybrid Image
- 周波数領域で画像を合成する技術
- 人間の目が輪郭と色調の認識/識別する能力が,物体の距離によって変化することを利用した技術である.
- Poisson画像合成 / Poisson Image Composition
- 合成する際に色調をある程度なじませる事ができる技術
- 土台となる技術はPoisson方程式
- 一癖のある技術だが,個人的に好き
最後に
各項目は,個別に詳細記事にしようと思います.
各項目の記事が完成したら,この記事にリンクを付けて一覧的なものにしていく予定です.
また,画像処理系の学会(おもにSIGGRAPH)で発表された論文を解説する記事を書く予定です.
大学の研究で使っていた技術を優先した結果,内容が合成・変形に重みが強い内容になってしまいました.