Python版OpenCVで積分画像を作成する方法をソースコード付きで解説します。
積分画像とは
積分画像(Integral Image)は、注目画素とその左と上にある全ての画素値の和を求めた物です。

積分画像の原理・計算式・高速化
この記事では、積分画像の基本原理や計算式・特徴・例題についてまとめました。
Python言語版OpenCVでは、「cv2.integral」を用いて簡単に積分画像を求めることができます。
サンプルコード

【Python/OpenCV】積分画像を用いた処理の高速化
Python版OpenCVで積分画像を作成する方法をソースコード付きで解説します。
コード解説
dst = cv2.integral(gray)
- srcは入力画像(グレースケール)
- kernelはフィルタのカーネルサイズ(3なら8近傍)
- dstは積分画像(入力画像より幅・高さが1px大きい)
メディアンフィルタの高速化
積分画像を用いると、例えば2重forループでメディアンフィルタの処理を書いた場合に高速化できます。メディアンフィルタの原理は以下ページで別途解説しています。

【Python/OpenCV】メディアンフィルタ(cv2.medianBlur)で画像のぼかし・ノイズ除去
Python+OpenCVでメディアンフィルタを「NumPy」「cv2.medianBlur」で実装し、画像をぼかし・平滑化・ノイズ除去する方法をソースコード付きで解説します。
サンプルコード①積分画像を用いない場合
サンプルプログラムのソースコードです。
■入力画像(左)と出力画像(右)
サンプルコード②積分画像を用いた場合
サンプルプログラムのソースコードです。
サンプルコード③cv2.medianBlurを用いた場合
サンプルプログラムのソースコードです。
関連ページ

【PythonとOpenCVで画像処理超入門】使い方とサンプルコードを解説
Python版OpenCVで画像処理プログラミングを行う方法を入門者向けにソースコード付きで解説するページです。
コメント