Python OpenCV3で移動平均オペレータで平滑化

Facebook にシェア
Pocket
LINEで送る
このエントリーを Google ブックマーク に追加

移動平均とは、画像の各画素値の周辺の平均値をとって画素値を決定すること。
単純な平均をとるため、ぼやけた画像が出力される。

 

前提

ディレクトリ構成などはこことかこことか。

&nbsp

元画像

カラスの画像(karasu.jpg)を使う。
karasu

 

移動平均オペレータ

Pythonの場合、移動平均を行う場合はblurメソッドを使う。
blurメソッドの使い方は以下のとおり。
今回はわかりやすくするために、かなり大きめの周囲の大きさを指定している。

# 平均化する画素の周囲の大きさを指定する。
# (25, 25) の場合、個々の画素の地点の周囲25×25マスの平均をとる。
# 数値が大きいほどぼやける。
average_square = (25, 25)

# 移動平均を計算して出力する。
img_blur = cv2.blur(img_src, average_square)

sourceディレクトリ配下にblur.pyを作成する。

# -*- coding: utf-8 -*-

import cv2
import numpy as np

if __name__ == '__main__':
    
    # 画像の読み込み
    img_src = cv2.imread("./image/karasu.jpg", 1)

    # 平均化する画素の周囲の大きさを指定する。
    # (25, 25) の場合、個々の画素の地点の周囲25×25マスの平均をとる。
    # 数値が大きいほどぼやける。
    average_square = (25, 25)

    # 移動平均を計算して出力する。
    img_blur = cv2.blur(img_src, average_square)

    # 表示
    cv2.imshow("Show BLUR Image", img_blur)
    cv2.waitKey(0)
    cv2.destroyAllWindows()

実行してみる。

(opencv_python)$ python blur.py 

スクリーンショット 2015-07-03 23.21.03

 

ぼやけてる。
average_square を小さくするともう少しくっきりした画像になるし、大きくするとよりぼやけた画像になる。

 

Follow me!

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です