欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Python OpenCV學(xué)習(xí)之圖像濾波詳解

 更新時(shí)間:2022年01月07日 09:15:32   作者:一個(gè)熱愛(ài)學(xué)習(xí)的深度渣渣  
圖像濾波的作用簡(jiǎn)單來(lái)說(shuō)就是將一副圖像通過(guò)濾波器得到另一幅圖像;明確一個(gè)概念,濾波器又被稱為卷積核,濾波的過(guò)程又被稱為卷積;實(shí)際上深度學(xué)習(xí)就是訓(xùn)練許多適應(yīng)任務(wù)的濾波器,本質(zhì)上就是得到最佳的參數(shù)。下面來(lái)跟隨小編一起深入了解一下圖像濾波吧

背景

圖像濾波的作用簡(jiǎn)單來(lái)說(shuō)就是將一副圖像通過(guò)濾波器得到另一幅圖像;明確一個(gè)概念,濾波器又被稱為卷積核,濾波的過(guò)程又被稱為卷積;實(shí)際上深度學(xué)習(xí)就是訓(xùn)練許多適應(yīng)任務(wù)的濾波器,本質(zhì)上就是得到最佳的參數(shù);當(dāng)然在深度學(xué)習(xí)之前,也有一些常見(jiàn)的濾波器,本篇主要介紹這些常見(jiàn)的濾波器;

一、卷積相關(guān)概念

卷積核大小一般為奇數(shù)的原因:

1、增加padding的原因;

2、保證錨點(diǎn)在中間,防止位置發(fā)生偏移;

卷積核大小的影響:卷積核越大,感受野越大,提取的特征越好,同時(shí)計(jì)算量也越大;

邊界擴(kuò)充(padding)作用:使得輸出數(shù)據(jù)的尺寸與輸入相等;

計(jì)算公式:

N = (W - F + 2P)/ S + 1

  • N:輸出圖像大小
  • W:原圖大小
  • F:卷積核大小
  • P:擴(kuò)充尺寸
  • S:步長(zhǎng)大小

二、卷積實(shí)戰(zhàn)

首先介紹兩個(gè)簡(jiǎn)單的濾波:低通濾波與高通濾波;

低通濾波:低于閾值的可通過(guò),去除噪音或平滑圖像;

高通濾波:高于閾值的可 通過(guò),用于邊緣檢測(cè);

函數(shù)原型:

filter2D(src,ddepth,kernel,[anchor,delta,borderType])

ddepth:位深,一般設(shè)定為-1;

代碼案例:

kernel = np.ones((5, 5), np.float32) / 25
result = cv2.filter2D(img, -1, kernel)

這是一個(gè)平均卷積,起到一個(gè)降噪的作用,但效果并不明顯;

三、均值濾波

首先介紹一個(gè)方盒濾波,實(shí)際上就是全為1的卷積核乘以權(quán)重a;

函數(shù)原型:boxFilter(src,ddepth,ksize,anchor,normalize,borderType)

說(shuō)明:當(dāng)normalize為T(mén)rue時(shí),乘以1/W*H,也就是均值濾波,所以一般不用這個(gè)濾波函數(shù);

均值濾波函數(shù)原型:blur(src,ksize,[anchor,borderType])

注意:一般均值濾波就是使用這個(gè)API;

代碼案例:

result = cv2.blur(img, 5)

四、高斯濾波

原理:越靠近中心,權(quán)重越大,離中心越遠(yuǎn),權(quán)重越小;

函數(shù)原型:

GaussianBlur(img,kernel,sigmaX,[sigmaY,…])

說(shuō)明:對(duì)效果有影響的參數(shù)為kernel和sigmaX,這兩者越大圖像平滑(模糊)的效果會(huì)越明顯;

代碼案例:

gauss = cv2.imread('gaussian.png')
result = cv2.GaussianBlur(gauss, (5, 5), 5)
cv2.imshow('org', gauss)
cv2.imshow('result', result)
cv2.waitKey(0)

從圖中可看出,處理后高斯噪點(diǎn)減少了,但整體圖像也變模糊了;

五、中值濾波

本質(zhì):取中間值作為卷積結(jié)果;

作用:對(duì)胡椒噪音有很好的處理效果;

函數(shù)原型:

medianBlur(img,ksize)

代碼案例:

img = cv2.imread('papper.png')
result = cv2.medianBlur(img, 5)
cv2.imshow('org', img)
cv2.imshow('result', result)
cv2.waitKey(0)

從上圖可以看出,效果是相當(dāng)不錯(cuò)的;

六、雙邊濾波

作用:可以保留邊緣,同時(shí)對(duì)邊緣內(nèi)的區(qū)域進(jìn)行平滑處理;(主要進(jìn)行美顏)

函數(shù)原型:

bilateralFilter(img,d,sigmaColor,sigmaSpace)

案例代碼:

img = cv2.imread('1.jpg')
result = cv2.bilateralFilter(img, 9, 50, 50)
cv2.imshow('org', img)
cv2.imshow('result', result)
cv2.waitKey(0)

從圖中可以看出,美顏效果是比較明顯的,并且對(duì)于邊緣輪廓也處于能接受范圍;

七、Sobel算子

上述介紹的幾種濾波均為低通濾波,接下來(lái)介紹高通濾波,最主要作用是檢測(cè)邊緣;

實(shí)現(xiàn)步驟:

x軸方向求導(dǎo) —— y軸方向求導(dǎo) —— 最終結(jié)果為二者相加

函數(shù)原型:

Sobel(src,ddepth,dx,dy,ksize=3,…)

代碼案例:

chess = cv2.imread('chess.png')
# 求y方向邊緣
dy = cv2.Sobel(chess, cv2.CV_64F, 1, 0, ksize=5)
# 求x方向邊緣
dx = cv2.Sobel(chess, cv2.CV_64F, 0, 1, ksize=5)
# 二者相加
result = dy + dx

cv2.imshow('chess', chess)
cv2.imshow('dy', dy)
cv2.imshow('dx', dx)
cv2.imshow('result', result)
cv2.waitKey(0)

從上圖可以明顯看出,當(dāng)dx設(shè)置為1時(shí),求得y方向上的邊緣信息,反之也是,最終二者相加的結(jié)果也就是Sobel算子的結(jié)果。不能一開(kāi)始就設(shè)定dx,dy為1,這樣子不能達(dá)到該效果;

八、Scharr算子

定義:與Sobel類似,但使用的kernel值不同,并且只能為3x3,只能求x方向或y方向一個(gè)方向的邊緣信息;

函數(shù)原型:

Scharr(src,ddepth,dx,dy)

在這里就不演示了,該算子不常用,主要優(yōu)點(diǎn)是能檢測(cè)到不明顯的邊緣,當(dāng)Sobel的ksize設(shè)置為-1時(shí)等同;

九、拉普拉斯算子

優(yōu)點(diǎn):可同時(shí)求得兩個(gè)方向的邊緣;

缺點(diǎn):對(duì)噪音比較敏感,一般需要先進(jìn)行去噪在調(diào)用拉普拉斯算子;

函數(shù)原型:

Laplacian(img,ddepth,ksize=1)

代碼案例:

chess = cv2.imread('chess.png')
result = cv2.Laplacian(chess, cv2.CV_64F, ksize=5)

cv2.imshow('chess', chess)
cv2.imshow('result', result)
cv2.waitKey(0)

從效果上看,比起Sobel步驟更加簡(jiǎn)單,并且效果也比較好,缺點(diǎn)就是如果噪聲過(guò)多的話效果會(huì)比較差;

十、Canny算法

實(shí)現(xiàn)步驟:

1、使用5x5高斯濾波消除噪音;

2、使用Sobel計(jì)算圖像梯度的方向(0°、45°、90°、135°);

3、取局部極大值;

4、閾值計(jì)算;

函數(shù)原型:

Canny(img,minVal,maxVal,…)

其中的minVal和maxVal代表邊緣的閾值,兩者差值過(guò)大的話會(huì)損失一定的邊緣信息;

代碼案例:

img = cv2.imread('1.jpg')
result = cv2.Canny(img, 100, 200)

cv2.imshow('org', img)
cv2.imshow('result', result)
cv2.waitKey(0)

以上就是Python OpenCV學(xué)習(xí)之圖像濾波詳解的詳細(xì)內(nèi)容,更多關(guān)于Python OpenCV圖像濾波的資料請(qǐng)關(guān)注腳本之家其它相關(guān)文章!

相關(guān)文章

最新評(píng)論