筆記和用法都在代碼注釋中:
import cv2 as cv
import numpy as np
import matplotlib.pyplot as plt
img = cv.imread('666.jpg')
img = cv.resize(img,(500,230))
#影像的像素點有問題,需要做平滑處理
'''
#-------------第一種方法: 均值濾波 (用法一:打馬賽克【手動狗頭】)(用法二:)
img = cv.blur(img,(3,3)) #設定矩陣大小,越大越模糊,越小越越沒有效果!
cv.imshow('img',img)
cv.waitKey(0) #(用法一:打馬賽克【手動狗頭】)
cv.destroyAllWindows() #(用法二:減小干擾點)
'''
'''
#-------------第二種方法: 方框濾波 (對 噪音點的消除 比 均值濾波好 !!! )
img = cv.boxFilter(img,-1,(3,3),normalize = True) #如果改為False,超過255的,則為255
cv.imshow('666',img)
cv.waitKey(0)
cv.destroyAllWindows()
'''
'''
#-------------第三種方法: 高斯濾波 [根據遠近,自己進行權重運算] [效果也一般]
gaosi = cv.GaussianBlur(img,(5,5),1)
cv.imshow('gaosi',gaosi)
cv.waitKey(0)
cv.destroyAllWindows()
'''
'''
#-------------第四種方法: 中值濾波 [效果最好] [但會有點模糊!]
zhi = cv.medianBlur(img,5)
cv.imshow('zhi',zhi)
cv.waitKey(0)
cv.destroyAllWindows()
'''
jun = cv.blur(img,(10,10)) #均值濾波
fang = cv.blur(img,(50,50)) #方框濾波
gaosi = cv.GaussianBlur(img,(5,5),1) #高斯濾波
zhi = cv.medianBlur(img,5) #中值濾波
img = np.vstack((jun,fang,gaosi,zhi)) #豎著排列多個影像
#img = np.hstack((jun,fang,gaosi,zhi)) #橫著排列多個影像
cv.imshow('111',img)
cv.waitKey(0)
cv.destroyAllWindows()
總結:介紹了 四種濾波方式!!!其中有很多引數也可自行改變,
親自體驗,效果更佳喲!!!
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/291269.html
標籤:其他
上一篇:python手部識別中的問題及筆記第四彈 21 7 30
下一篇:使用opencv中的VideoWriter函式,保存電腦內置攝像頭捕獲到的視頻(文中包括flip函式引數翻轉設定)
