Python OpenCV3で移動平均オペレータで平滑化
移動平均とは、画像の各画素値の周辺の平均値をとって画素値を決定すること。
単純な平均をとるため、ぼやけた画像が出力される。
[amazonjs asin="4061538225″ locale="JP" title="OpenCVによる画像処理入門 (KS情報科学専門書)"]
前提
 
元画像
移動平均オペレータ
Pythonの場合、移動平均を行う場合はblurメソッドを使う。
blurメソッドの使い方は以下のとおり。
今回はわかりやすくするために、かなり大きめの周囲の大きさを指定している。
[python title="GaussianBlurメソッドの使い方"]
# 平均化する画素の周囲の大きさを指定する。
# (25, 25) の場合、個々の画素の地点の周囲25×25マスの平均をとる。
# 数値が大きいほどぼやける。
average_square = (25, 25)
# 移動平均を計算して出力する。
img_blur = cv2.blur(img_src, average_square)
[/python]
sourceディレクトリ配下にblur.pyを作成する。
[python title="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()
[/python]
実行してみる。
[shell]
(opencv_python)$ python blur.py
[/shell]
ぼやけてる。
average_square を小さくするともう少しくっきりした画像になるし、大きくするとよりぼやけた画像になる。
ディスカッション
コメント一覧
まだ、コメントがありません