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基礎」の記事一覧です。
コメント