Python: OpenCVのGaussianBlurを使用して画像にぼかしをかける

ガウシアンフィルタは、画像の平滑化に使われるフィルタの1つです。ガウス分布を利用して、注目画素からの距離に応じて近傍の画素値に重みをかけます。

インストール

OpenCVをまだインストールしていない場合には以下のコマンドでインストールできます。

pip install opencv-python

ぼかしをかける

元画像

カーネルサイズの調整

カーネル=(1, 1)、標準偏差3

import cv2

img = cv2.imread('img/img.jpg')
dst = cv2.GaussianBlur(img, (1, 1), 3)
cv2.imwrite('img/img_gauss.jpg', dst)

結果

カーネル=(5, 5)、標準偏差3

import cv2

img = cv2.imread('img/img.jpg')
dst = cv2.GaussianBlur(img, (5, 5), 3)
cv2.imwrite('img/img_gauss.jpg', dst)

結果

カーネル=(15, 15)、標準偏差3

import cv2

img = cv2.imread('img/img.jpg')
dst = cv2.GaussianBlur(img, (15, 15), 3)
cv2.imwrite('img/img_gauss.jpg', dst)

結果

カーネルサイズを大きくすると、ぼかしの具合が強くなります。

標準偏差の調整

カーネル=(15, 15)、標準偏差1

import cv2

img = cv2.imread('img/img.jpg')
dst = cv2.GaussianBlur(img, (15, 15), 1)
cv2.imwrite('img/img_gauss.jpg', dst)

結果

カーネル=(15, 15)、標準偏差2

import cv2

img = cv2.imread('img/img.jpg')
dst = cv2.GaussianBlur(img, (15, 15), 2)
cv2.imwrite('img/img_gauss.jpg', dst)

結果

カーネル=(15, 15)、標準偏差3

import cv2

img = cv2.imread('img/img.jpg')
dst = cv2.GaussianBlur(img, (15, 15), 3)
cv2.imwrite('img/img_gauss.jpg', dst)

結果

標準偏差を大きくしていくと、ぼかしの具合が強くなります。

カーネル=(15, 15)、標準偏差0

import cv2

img = cv2.imread('img/img.jpg')
dst = cv2.GaussianBlur(img, (15, 15), 0)
cv2.imwrite('img/img_gauss.jpg', dst)

結果

標準偏差に0を指定すると、カーネルサイズから標準偏差が自動計算されます。特に細かな調整が必要なければ、標準偏差は0にしてカネールサイズだけ変更すれば十分かと思います。

コメントを残す

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