はじめに
ここ2~3ヶ月ほど、GLSLでの画像処理についての記事をいくつか書いてきました。そこでこの記事では、画像処理について学ぶにあたり役に立った書籍などを紹介します。
画像処理の勉強に役立つ書籍
図解でわかるはじめてのデジタル画像処理
本書では、画像のデジタル化、色のしくみ、フィルタ処理、濃度変換、周波数領域処理、画像圧縮などの基本を、図解を交えてわかりやすく説明されています。画像処理について基礎から触れており、まずは画像処理がどのように行われているのかをざっくりと理解したい方におすすめです。
数式についてはあまり詳しく紹介されていないので、数学的な理解を深めたい方は次のデジタル画像処理をおすすめします。
ディジタル画像処理[改訂第二版]
画像処理エンジニア検定試験の参考書籍としても使われている本書は、全ページフルカラーで、画像処理の基礎理論から手法、アルゴリズム、機械学習の領域まで幅広く紹介されています。数式も沢山掲載されており、ある程度の数学的な知識が必要ですが、画像処理についてより深く理解したい方におすすめです。
400ページを超えるボリュームで、画像処理にまつわる基本的な内容はほぼ網羅されているので、手元に置いておいて辞書的に使用するのが良いでしょう。
画像処理エンジニア検定試験を受けるかたは、公式問題集も販売されているので、問題を解きながら理解を深めるのも良いでしょう。
詳解 画像処理プログラミング
こちらは2008年と古い本ですが、このブログでのGLSLでの画像処理シリーズの種本として参考にしました。Photoshopなどで使用されているフィルタ処理のアルゴリズムだったり、面白い処理の実装例が多数掲載されています。また各アルゴリズムについての数式的な説明も書かれているので、使用する言語が違くても参考にできる部分が多いでしょう。
実際にコードを書いて画像処理を理解する
画像処理の理解を深めるために、実際に手を動かしてコードを書いて確認することは大切です。ここでは、このブログで紹介してきたGLSLでの画像処理に関する記事をまとめてみました。興味があるトピックがあれば、ぜひ記事を見て試してみてください。
色調変換を用いたエフェクト処理
色調変換を用いたエフェクト処理の実装方法について紹介しています。
具体的には次のトピックについて解説しています。
- 線形関数
- ガンマ補正
- シグモイド関数
- ネガ化
- ソラリゼーション
- ポスタリゼーション
空間フィルタリング
空間フィルタリングについて紹介しています。
具体的には次のトピックについて解説しています。
- 平滑化
- 加重平均化
- エッジ摘出
- 先鋭化
- エンボス処理
エッジ摘出、エンボス処理については、この記事では簡易的に紹介していて後述の記事で詳しく紹介しています。
エッジ摘出
エッジ摘出について詳しく紹介しています。
具体的には次のトピックについて解説しています。
- 微分フィルタ
- Prewittフィルタ
- Sobelフィルタ
- ラプラシアンフィルタ
- LoGフィルタ
- ゼロ交差
ブラー処理
平均化処理の特殊な例として、ブラー処理を紹介しています。
デモとしては次の例を紹介しています。
- 斜め方向のブラー処理
- 任意方向のブラー処理
- 極座標変換を利用したブラー処理
法線マップ
簡易的な法線マップの作成方法について紹介しています。
陰影付け処理を応用した特殊効果の画像処理
法線マップの作成方法を応用して、陰影付け処理を利用した特殊効果の画像処理について紹介しています。
具体的には次のトピックについて解説しています。
- 波状面変換
- 波紋変換
- エンボス変換
波状面・波紋については、屈折も考慮したデモになっているので見た目的にも面白いかと思います。
ユニークな特殊効果の画像処理
今まで紹介してきた画像処理のトピックを応用して、実践的に使える画像処理の特殊効果について紹介しています。
具体的には次のトピックについて解説しています。
- モザイク処理
- イラスト調
- 拡散
- VHS調変換
アフィン変換
この記事では趣向を変えて、変形処理としてアフィン変換をGLSLのフラグメントシェーダーで実装する方法を紹介しています。また、おまけとして射影変換を使用した自由変形についても紹介しています。
組織的ディザ法
画像処理の擬似階調表現として組織的ディザ法について紹介しています。
3種類のディザ法としてベイヤー(Bayer)型と渦巻き型、網点型のパターンを紹介しています。
また、ベイヤー型の階調を変える方法と画像への適応、色の調整についても触れています。
画像合成
PhotoShopなどのデザインツールの描画モードやCSSのmix-blend-modeのような画像合成の処理を数式を提示しながら紹介しています。
具体的には次のトピックについて解説しています。
- 明るくする効果:加算・スクリーン・覆い焼きカラー・比較(明)
- 暗くする効果:乗算・ 焼き込みカラー・比較(暗)
- コントラスト調整:オーバーレイ・ソフトライト・ハードライト
Kuwaharaフィルタ
今まで紹介してきた画像処理のトピックを応用してKuwaharaフィルタを実装する方法を紹介しています。
通常のKuwaharaフィルタと改良型の円形カーネルでのKuwaharaフィルタについて実装してみました。
また、参考になった論文やサイトについても紹介しています。
まとめ
画像処理について学ぶために役立つ書籍などを紹介しました。また、このブログで今まで紹介してきたGLSLでの画像処理についてのトピックもまとめてみました。実際に手を動かしてみると、より理解が深まるので、ぜひ試してみてください。