【Python/OpenCV】空間フィルタリング・畳み込み演算(cv2.filter2d)

PythonとOpenCVを用いて空間フィルタリング処理する方法をソースコード付きで解説します。

スポンサーリンク

空間フィルタリング

本ページの内容は以下動画で解説しています。

空間フィルタリング(畳み込み演算)の計算式と原理については下記事で紹介しています。

【画像処理】空間フィルタリングと畳み込み演算(マスク演算)
画像処理における空間フィルタリングと畳み込み演算(マスク演算)の計算方法についてまとめました。

また、OpenCVライブラリでは、cv2.filter2Dメソッドで空間フィルタリングを簡単に実装できます。

書式

dst = cv2.filter2D(src, -1, kernel)
パラメータ名 説明
src 入力画像
kernel フィルタのカーネル(※NumPy配列で与える)
dst 出力画像

今回は、空間フィルタリングの処理を以下の2通りの方法で実装してみました。
方法①・・・NumPyでアルゴリズムを書いて実装
方法②・・・cv2.filter2Dで実装

スポンサーリンク

サンプルコード①OpenCVで実装した場合

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


スポンサーリンク

サンプルコード②NumPyで実装した場合


スポンサーリンク

実行結果

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

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

スポンサーリンク

関連記事

【Python版OpenCV入門】画像処理の基礎〜応用例までサンプルコード付きで徹底解説
Python版OpenCVで画像処理プログラミングを行う方法を入門者向けにソースコード付きで解説するページです。
【Python】画像処理プログラミング入門
この記事では、Pythonで画像処理・画像解析プログラミングを行う方法を入門者向けにソースコード付きで解説します。
【画像処理入門】アルゴリズム&プログラミング
この記事では、画像処理における基本的なアルゴリズムとその実装例(プログラム)についてまとめました。
Python画像処理
スポンサーリンク

コメント