介紹四篇圖像平滑方式:
均值濾波
方框濾波
高斯濾波
中值濾波
1. 均值濾波
原理:将對應核中的元素求和取平均
指令:img2 = cv2.blur(原始圖像,核大小) #核大小是一個元組
img2 = cv2.blur(img, (7, 7))
2. 方框濾波
原理:對核中像素值求和(求和很容易導緻像素值超過255,是以容易出現白化圖像),或者求和取平均
指令:img2 = cv2.boxFilter(原始圖像, 目标圖像深度, 核大小, normalize屬性)
normalize=0表示核内所有元素求和,normalize=1表示均值濾波,預設為均值
img2 = cv2.boxFilter(img, -1, (2, 2), normalize=1)
3. 高斯濾波
原理:在核中根據高斯函數來确定核中像素值的比重,離中心元素越近比重越大,反之越小
指令:dst = cv2.GaussianBlur(src, ksize, sigmaX) # ksize必須是奇數
# sigmaX:高斯核在x方向的标準差
# sigmaY:高斯核在y方向的标準差(sigmaY=0時,其值自動由sigmaX确定(sigmaY=sigmaX);sigmaY=sigmaX=0時,它們的值将由ksize.width和ksize.height自動确定)
img2 = cv2.GaussianBlur(img, (7,7), 0)
4. 中值濾波
原理:核中像素值的中值作為圖像像素值
指令:dst = cv2.medianBlur(src, ksize) # ksize不是能是元組,就是一個數字
img2 = cv2.medianBlur(img, 7)