欧美一区二区三区老妇人-欧美做爰猛烈大尺度电-99久久夜色精品国产亚洲a-亚洲福利视频一区二区

python去噪函數(shù),python 降噪

3種python3的canny邊緣檢測之靜態(tài),可調節(jié)和自適應

先看高級版的python3的canny的自適應邊緣檢測:

成都創(chuàng)新互聯(lián)堅持“要么做到,要么別承諾”的工作理念,服務領域包括:成都網(wǎng)站設計、網(wǎng)站建設、企業(yè)官網(wǎng)、英文網(wǎng)站、手機端網(wǎng)站、網(wǎng)站推廣等服務,滿足客戶于互聯(lián)網(wǎng)時代的鳳慶網(wǎng)站設計、移動媒體設計的需求,幫助企業(yè)找到有效的互聯(lián)網(wǎng)解決方案。努力成為您成熟可靠的網(wǎng)絡建設合作伙伴!

內(nèi)容:

1 canny的邊緣檢測的介紹。

2 三種方法的canny的邊緣檢測,由淺入深地介紹:固定值的靜態(tài),可自調節(jié)的,自適應的。

說明:

1 環(huán)境:python3.8、opencv4.5.3和matplotlib3.4.3。

2 圖片:來自品閱網(wǎng)正版免費圖庫。

3 實現(xiàn)自適應閾值的canny邊緣檢測的參考代碼和文章:

上述的代碼,本機均有報錯,故對代碼進行修改,注釋和運行。

初級canny:

1 介紹:opencv中給出了canny邊緣檢測的接口,直接調用:

即可得到邊緣檢測的結果ret,其中,t1,t2是需要人為設置的閾值。

2 python的opencv的一行代碼即可實現(xiàn)邊緣檢測。

3 Canny函數(shù)及使用:

4 Canny邊緣檢測流程:

去噪 -- 梯度 -- 非極大值抑制 -- 滯后閾值

5 代碼:

6 操作和過程:

7 原圖:

8 疑問:

ret = cv2.canny(img,t1,t2),其中,t1,t2是需要人為設置的閾值,一般人怎么知道具體數(shù)值是多少,才是最佳的呀?所以,這是它的缺點。

中級canny:

1 中級canny,就是可調節(jié)的閾值,找到最佳的canny邊緣檢測效果。

2 采用cv2.createTrackbar來調節(jié)閾值。

3 代碼:

4 操作和效果:

5 原圖:

高級canny:

1 自適應canny的算法:

ret = cv2.canny(img,t1,t2)

即算法在運行過程中能夠自適應地找到較佳的分割閾值t1,t2。

2 文件結構:

3 main.py代碼:

4 dog.py代碼:

5 bilateralfilt.py代碼:

6 原圖:

7 效果圖:本文第一個gif圖,此處省略。

小結:

1 本文由淺入深,總結的很好,適合收藏。

2 對于理解python的opencv的canny的邊緣檢測,很有幫助。

3 本文高級版canny自適應的算法參考2篇文章,雖然我進行代碼的刪除,注釋,修改,優(yōu)化等操作,故我不標注原創(chuàng),對原作者表達敬意。

4 自己總結和整理,分享出來,希望對大家有幫助。

用opencv去噪

使用opencv-python的內(nèi)置函數(shù),對圖片進行降噪處理。

8Fourier變換的應用——圖像去噪

給出的圖片是RGB圖片,也就是需要有三個通道。

下面的函數(shù)用來去噪。

img=np.uint8(cv2.fastNlMeansDenoisingColored(img,None,10,10,7,21))

對這個圖片進行局部自適應二值化處理:

img=hui(img)

th1 = cv2.adaptiveThreshold(img,255,cv2.ADAPTIVE_THRESH_MEAN_C,cv2.THRESH_BINARY,31,5)

另一種局部自適應二值化處理:

th2 = cv2.adaptiveThreshold(img,255,cv2.ADAPTIVE_THRESH_GAUSSIAN_C,cv2.THRESH_BINARY,31,5)

在第一步連續(xù)執(zhí)行兩次去噪,得到的三幅圖片是:

執(zhí)行三次降噪。

連續(xù)10次降噪。

怎樣用python實現(xiàn)圖像去噪

#coding:utf-8

import?sys,os

from?PIL?import?Image,ImageDraw

#二值數(shù)組

t2val?=?{}

def?twoValue(image,G):

for?y?in?xrange(0,image.size[1]):

for?x?in?xrange(0,image.size[0]):

g?=?image.getpixel((x,y))

if?g??G:

t2val[(x,y)]?=?1

else:

t2val[(x,y)]?=?0

#?降噪?

#?根據(jù)一個點A的RGB值,與周圍的8個點的RBG值比較,設定一個值N(0?N?8),當A的RGB值與周圍8個點的RGB相等數(shù)小于N時,此點為噪點?

#?G:?Integer?圖像二值化閥值?

#?N:?Integer?降噪率?0?N?8?

#?Z:?Integer?降噪次數(shù)?

#?輸出?

#??0:降噪成功?

#??1:降噪失敗?

def?clearNoise(image,N,Z):

for?i?in?xrange(0,Z):

t2val[(0,0)]?=?1

t2val[(image.size[0]?-?1,image.size[1]?-?1)]?=?1

for?x?in?xrange(1,image.size[0]?-?1):

for?y?in?xrange(1,image.size[1]?-?1):

nearDots?=?0

L?=?t2val[(x,y)]

if?L?==?t2val[(x?-?1,y?-?1)]:

nearDots?+=?1

if?L?==?t2val[(x?-?1,y)]:

nearDots?+=?1

if?L?==?t2val[(x-?1,y?+?1)]:

nearDots?+=?1

if?L?==?t2val[(x,y?-?1)]:

nearDots?+=?1

if?L?==?t2val[(x,y?+?1)]:

nearDots?+=?1

if?L?==?t2val[(x?+?1,y?-?1)]:

nearDots?+=?1

if?L?==?t2val[(x?+?1,y)]:

nearDots?+=?1

if?L?==?t2val[(x?+?1,y?+?1)]:

nearDots?+=?1

if?nearDots??N:

t2val[(x,y)]?=?1

def?saveImage(filename,size):

image?=?Image.new("1",size)

draw?=?ImageDraw.Draw(image)

for?x?in?xrange(0,size[0]):

for?y?in?xrange(0,size[1]):

draw.point((x,y),t2val[(x,y)])

image.save(filename)

image?=?Image.open("d:/1.jpg").convert("L")

twoValue(image,100)

clearNoise(image,4,1)

saveImage("d:/5.jpg",image.size)

網(wǎng)頁標題:python去噪函數(shù),python 降噪
文章起源:http://chinadenli.net/article6/dsgjdig.html

成都網(wǎng)站建設公司_創(chuàng)新互聯(lián),為您提供小程序開發(fā)網(wǎng)站排名定制開發(fā)服務器托管網(wǎng)站策劃

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉載內(nèi)容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉載,或轉載時需注明來源: 創(chuàng)新互聯(lián)

搜索引擎優(yōu)化