様々な画像処理(Image Processing)手法をまとめたチュートリアル用のリポジトリです.
画像処理のメインとなる部分は,OpenCVなどの画像処理ライブラリを使用しないで実装していきます.
以下の開発環境で動作させることを想定しています.
- Google Colaboratory
Image Processing Tutorialに必要なGoogle Colaboratoryの開発環境を作成する必要があります. Google Colaboratoryとは,Googleが機械学習の教育及び研究用に提供しているインストール不要かつすぐにPythonや機械学習・深層学習の環境を整えることが出来る無料のサービスになります. プログラミングの環境が無い人でも簡単にプログラミングをすることができます.
- Google Driveに取り組みたいチュートリアルの「○○.ipynb 」 をアップロードする.
- ダブルクリックして開く(開けない場合は,「 アプリで開く 」⇒「 アプリを追加 」⇒「 Colaboratory 」⇒「 インストール 」の順で開くことが出来る).
- 「○○.ipynb 」が開けたら,そこに書いてある文字に従って,プログラムを実行してみる.
本チュートリアルで用いる画像は,こちらからダウンロードしてください.
ダウンロードした画像の中から1つを選び,その画像の濃度ヒストグラムを作成します. 画像の色や明るさの濃淡の段階数を表す階調は256(0~255)です. ここでは,この256階調の画像に対して,32段階のヒストグラムを作成します.頻度の表示は100個ごとに表示します. 以下の「画像のヒストグラムを作成」をクリックすると,画像のヒストグラムを作成するチュートリアルのページまで移動します.
ダウンロードした画像の中から1つを選び,その画像にラプラシアンフィルタを適用することで,画像中のエッジ(輪郭)を抽出します. このとき,ラプラシアンフィルタは,8近傍型のカーネルを使用します. また,画像にラプラシアンフィルタを適用した後の輝度値(画素値)が0~255の範囲外となった場合は,0よりも小さいなら0に,255以上なら255にするようにします. ここでは,画像の縁についての処理は省きます.以下の「画像のエッジ(輪郭)を抽出」をクリックすると,画像のエッジ(輪郭)を抽出するチュートリアルのページまで移動します.
ダウンロードした「lenna.bmp」の画像に対して,テンプレートマッチングを行うことで,lennaの顔を検出します. このとき,テンプレートマッチングに使用するlennaの顔のテンプレート画像は「lenna_face.bmp」を使用します. そして,入力画像に対してラスタースキャンを施し,相違度が最小の位置をマッチング座標として出力します. 以下の「テンプレートマッチングによるパターン検出」をクリックすると,テンプレートマッチングによるパターン検出のチュートリアルのページまで移動します.