其實我們平時在深度學習中所說的卷積操作,在 opencv 中也可以進行,或者說是類似操作,那么它是什么操作呢?它就是影像的模糊(濾波)處理,
均值濾波
使用 opencv 中的cv2.blur(src, ksize)函式,其引數說明是:
src: 原影像ksize: 模糊核大小
原理:它只取內核區域下所有像素的平均值并替換中心元素,3x3 標準化的盒式過濾器如下所示:

- 特征:核中區域貢獻率相同,
- 作用:對于椒鹽噪聲的濾除效果比較好,
# -*-coding:utf-8-*-
"""
File Name: image_deeplearning.py
Program IDE: PyCharm
Date: 2021/10/17
Create File By Author: Hong
"""
import cv2 as cv
def image_blur(image_path: str):
"""
影像卷積操作:設定卷積核大小,步距
:param image_path:
:return:
"""
img = cv.imread(image_path, cv.IMREAD_COLOR)
cv.imshow('input', img)
# 模糊操作(類似卷積),第二個引數ksize是設定模糊內核大小
result = cv.blur(img, (5, 5))
cv.imshow('result', result)
cv.waitKey(0)
cv.destroyAllWindows()
if __name__ == '__main__':
path = 'images/2.png'
image_blur(path)
結果展示:

高斯濾波
高斯濾波使用的是cv2.GuassianBlur(img, ksize,sigmaX,sigmaY)函式,
說明:sigmaX,sigmaY分別表示 X,Y 方向的標準偏差,如果僅指定了sigmaX,則sigmaY與sigmaX相同;如果兩者都為零,則根據內核大小計算它們,
-
特征:核中區域貢獻率與距離區域中心成正比,權重與高斯分布相關,
-
作用:高斯模糊在從影像中去除高斯噪聲方面非常有效,
def image_conv(image_path: str):
"""
高斯模糊
:param image_path:
:return:
"""
img = cv.imread(image_path, cv.IMREAD_COLOR)
cv.imshow('img', img)
# 高斯卷積(高斯濾波), 可以設定ksize,必須為奇數,不為0時,后面的步驟不起作用;也可以設定成(0,0),然后通過sigmaX和sigmaY計算標準偏差
result = cv.GaussianBlur(img, (0, 0), 15)
cv.imshow('result', result)
cv.waitKey(0)
cv.destroyAllWindows()
if __name__ == '__main__':
path = 'images/2.png'
image_conv(path)
結果展示:

高斯雙邊濾波
雙邊濾波(模糊)使用的是cv2.bilateralFilter(img,d, sigmaColor, sigmaSpace)函式,
說明:d為鄰域直徑,sigmaColor為空間高斯函式標準差,引數越大,臨近像素將會在越遠的地方越小,
sigmaSpace灰度值相似性高斯函式標準差,引數越大,那些顏色足夠相近的的顏色的影響越大,
雙邊濾波是一種非線性的濾波方法,是結合影像的空間鄰近度和像素值相似度的一種折衷處理,同時考慮空間與資訊和灰度相似性,達到保邊去噪的目的,具有簡單、非迭代、區域處理的特點,之所以能夠達到保邊去噪的濾波效果是因為濾波器由兩個函式構成:一個函式是由幾何空間距離決定濾波器系數,另一個是由像素差值決定濾波器系數,
- 特征:處理耗時,
- 作用:在濾波的同時能保證一定的邊緣資訊,
# 邊緣保留濾波器——高斯雙邊模糊
def image_bifilter(image_path: str):
"""
高斯雙邊模糊
:param image_path: 圖片檔案
:return: 無回傳值
"""
img = cv.imread(image_path, cv.IMREAD_COLOR)
cv.imshow('input', img)
# 第三個引數是設定色彩、第四個引數是設定影像坐標
result = cv.bilateralFilter(img, 0, 50, 10)
cv.imshow('result', result)
cv.waitKey(0)
cv.destroyAllWindows()
if __name__ == '__main__':
path = 'images/2.png'
image_bifilter(path)
結果展示:

獲取更多計算機視覺內容,請關注微信公眾號 ”AI 與計算機視覺“,
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/330093.html
標籤:AI
