【Python】画像処理プログラミング入門

この記事では、Pythonで画像処理プログラミングを行う方法を入門者向けにソースコード付きで解説します。

画像処理プログラミング

Pythonは欧米で人気なスクリプト言語です。
初心者にも扱いやすい言語で短くて読みやすいコードを書くことが出来ます。
数値計算や最近流行りの機械学習、画像処理にも強いという特徴があります。
今回は、Pythonを用いた画像処理プログラミングについてまとめました。

※「画像処理の基本原理」「Pythonの基礎」については下記事で紹介しています。
【画像処理入門】アルゴリズム&プログラミング
Python入門 サンプル集

Python標準

Pythonの標準ライブラリのみで画像処理をする方法を以下にまとめています。

BMPファイル

ビットマップ:ヘッダ解析, 明るさ半分

OpenCV

画像処理の定番ライブラリ「OpenCV」を使用する方法について以下にまとめています。

色空間の変換

変換:RGB→GRAY, RGB→HSV

ヒストグラム・濃度変換

基礎:ヒストグラム作成(1ch), ヒストグラム作成(3ch)
変換:線形濃度変換, 非線形濃度変換(ガンマ補正), ヒストグラム平均化
減色:K平均法

空間フィルタリング

基礎知識:畳み込み演算とは
平滑化:平均値, ガウシアン, メディアン
輪郭抽出:一次微分, Prewitt, Sobel, Laplacian, Emboss, LoG, Canny
高速化:積分画像, DoG, DoM

二値画像

二値化処理:単純二値化, 適応的二値化, 大津の二値化
膨張収縮:膨張収縮処理
直線検出:ハフ変換(古典的), ハフ変換(確率的)

パターン認識

テンプレート探索:SSD, SAD, NCC, ZNCC
顔検出:Haar Cascade, HoG Cascade
特徴点抽出:SIFT, SURF, 位相限定相関法

動画像処理

動体検出:背景差分法, フレーム差分法
動体追跡:MeanShift, Camshift, オプティカルフロー, パーティクルフィルタ

まとめ

Python版OpenCV入門 サンプル集

Scikit-image

画像処理ライブラリ「Scikit-image」を使用する方法について以下にまとめています。

準備中

【関連記事】
【画像処理入門】アルゴリズム&プログラミング

シェア&フォローお願いします!