【Python/OpenCV】DoGフィルタでぼかし・輪郭抽出

スポンサーリンク

この記事では、Python版OpenCVでDoGフィルタを実装し、画像をぼかして輪郭を抽出する方法をソースコード付きで解説します。

スポンサーリンク

DoGフィルタ

DoG(Difference of Gaussian)とは、 \sigmaの値が異なる2つのガウシアンフィルタ画像の差分です。
DoGフィルタは、LoGフィルタに近似できます。
そして、計算量も小さいため、LoGフィルタの代わりなどでよく用いられます。
【詳細】DoGフィルタの原理・特徴・計算式

今回は、Python言語とOpenCVを用いてDoGフィルタを実装してみました。

書式

dst = cv2.GaussianBlur(src, ksize, sigmaX)
パラメータ名 説明
src 入力画像
ksize カーネルサイズ
sigmaX ガウス分布の\sigma_x
dst 出力画像

ソースコード(Python3+OpenCV3)

サンプルプログラムのソースコードです。

※動作には、OpenCVとNumPyライブラリが必要です。
ライブラリの導入方法:【Python3】OpenCV3+NumPyをインストール

実行結果

サンプルプログラムの実行結果です。

■入力画像(左)と出力画像(右)

【おすすめ記事】
PythonでOpenCV入門 サンプル集
【Python】画像処理プログラミング入門
【画像処理入門】アルゴリズム&プログラミング

スポンサーリンク

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