openCV

【OpenCV】ぼかし処理 (python)

平均化フィルタ

注目画素の周辺の画素値の平均を計算し、注目画素の画素値とすることで平滑化を行います。(平滑化とは簡単に言えばぼかしです。)

フィルタの中心を注目画素とするため、フィルタは必ず奇数になります。

以下のサイトが畳み込み処理および平滑化等に関してわかりやすく説明されています。

元の画像
平均化

基本的な使い方

平均化(blur)

cv2.blur("対象画像" , (奇数,奇数))

二つ目の引数(奇数,奇数)は必ず奇数を設定します。(奇数でないと中心がなくなるため。)

基本的に二つ目の引数(奇数,奇数)の値が大きいほどぼかし具合も大きくなります

サンプルコード

import cv2
import numpy as np

file_cat = 'img/cat.jpg'

color_cat = cv2.imread(file_cat , 1) 

blur = cv2.blur(color_cat,(9,9))

while 1:
    cv2.imshow("color_cat", blur)
    
    k = cv2.waitKey(1)
    
    if k == ord('q'): # Qキーが押されたら終了
        break
        
cv2.destroyAllWindows()