本文利用python opencv進(jìn)行圖像的邊緣檢測,一般要經(jīng)過如下幾個步驟:
在于洪等地區(qū),都構(gòu)建了全面的區(qū)域性戰(zhàn)略布局,加強(qiáng)發(fā)展的系統(tǒng)性、市場前瞻性、產(chǎn)品創(chuàng)新能力,以專注、極致的服務(wù)理念,為客戶提供成都網(wǎng)站設(shè)計、做網(wǎng)站 網(wǎng)站設(shè)計制作定制網(wǎng)站制作,公司網(wǎng)站建設(shè),企業(yè)網(wǎng)站建設(shè),成都品牌網(wǎng)站建設(shè),營銷型網(wǎng)站建設(shè),外貿(mào)網(wǎng)站制作,于洪網(wǎng)站建設(shè)費(fèi)用合理。1、去噪
如cv2.GaussianBlur()等函數(shù);
2、計算圖像梯度
圖像梯度表達(dá)的是各個像素點(diǎn)之間,像素值大小的變化幅度大小,變化較大,則可以認(rèn)為是出于邊緣位置,最多可簡化為如下形式:
3、非極大值抑制
在獲得梯度的方向和大小之后,應(yīng)該對整幅圖像做一個掃描,去除那些非邊界上的點(diǎn)。對每一個像素進(jìn)行檢查,看這個點(diǎn)的梯度是不是周圍具有相同梯度方向的點(diǎn)中大的。如下圖所示:
4、滯后閾值
現(xiàn)在要確定那些邊界才是真正的邊界。這時我們需要設(shè)置兩個閾值:minVal 和maxVal。當(dāng)圖像的灰度梯度高于maxVal 時被認(rèn)為是真的邊界,那些低于minVal 的邊界會被拋棄。如果介于兩者之間的話,就要看這個點(diǎn)是否與某個被確定為真正的邊界點(diǎn)相連,如果是就認(rèn)為它也是邊界點(diǎn),如果不是就拋棄。如下圖:
在Python Opencv接口中,提供了Canny函數(shù),可以對圖像進(jìn)行一鍵執(zhí)行邊緣檢測。
接下來,利用Canny函數(shù)進(jìn)行邊緣檢測的實(shí)驗(yàn)。
Canny函數(shù)需要指定幾個參數(shù):
1、需要進(jìn)行邊緣檢測的原圖
2、閾值下限
3、閾值上限
我們?yōu)榱四軌蚩吹讲煌撝捣秶鷮吘墮z測結(jié)果的影響,設(shè)置了兩個滑動條,來分別表示閾值上下限。
完整代碼如下:
# -*- coding: utf-8 -*- """ Created on Thu Sep 13 14:23:32 2018 @author: Leon 內(nèi)容: 對圖片進(jìn)行邊緣檢測; 添加滑動條,可自由調(diào)整閾值上下限。 """ import cv2 import numpy as np def nothing(x): pass cv2.namedWindow('Canny',0) # 創(chuàng)建滑動條 cv2.createTrackbar('minval','Canny',0,255,nothing) cv2.createTrackbar('maxval','Canny',0,255,nothing) img = cv2.imread('Tree.jpg',0) # 高斯濾波去噪 img = cv2.GaussianBlur(img,(3,3),0) edges =img k=0 while(1): key = cv2.waitKey(50) & 0xFF if key == ord('q'): break # 讀取滑動條數(shù)值 minval = cv2.getTrackbarPos('minval','Canny') maxval = cv2.getTrackbarPos('maxval','Canny') edges = cv2.Canny(img,minval,maxval) # 拼接原圖與邊緣監(jiān)測結(jié)果圖 img_2 = np.hstack((img,edges)) cv2.imshow('Canny',img_2) cv2.destroyAllWindows()
另外有需要云服務(wù)器可以了解下創(chuàng)新互聯(lián)scvps.cn,海內(nèi)外云服務(wù)器15元起步,三天無理由+7*72小時售后在線,公司持有idc許可證,提供“云服務(wù)器、裸金屬服務(wù)器、高防服務(wù)器、香港服務(wù)器、美國服務(wù)器、虛擬主機(jī)、免備案服務(wù)器”等云主機(jī)租用服務(wù)以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡單易用、服務(wù)可用性高、性價比高”等特點(diǎn)與優(yōu)勢,專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應(yīng)用場景需求。