pythonopencv實現圖像邊緣檢測-創(chuàng)新互聯

本文利用python opencv進行圖像的邊緣檢測,一般要經過如下幾個步驟:

在于洪等地區(qū),都構建了全面的區(qū)域性戰(zhàn)略布局,加強發(fā)展的系統(tǒng)性、市場前瞻性、產品創(chuàng)新能力,以專注、極致的服務理念,為客戶提供成都網站設計、做網站 網站設計制作定制網站制作,公司網站建設,企業(yè)網站建設,成都品牌網站建設,營銷型網站建設,外貿網站制作,于洪網站建設費用合理。

1、去噪

如cv2.GaussianBlur()等函數;

2、計算圖像梯度

圖像梯度表達的是各個像素點之間,像素值大小的變化幅度大小,變化較大,則可以認為是出于邊緣位置,最多可簡化為如下形式:

python opencv實現圖像邊緣檢測

3、非極大值抑制

在獲得梯度的方向和大小之后,應該對整幅圖像做一個掃描,去除那些非邊界上的點。對每一個像素進行檢查,看這個點的梯度是不是周圍具有相同梯度方向的點中大的。如下圖所示:

python opencv實現圖像邊緣檢測

4、滯后閾值

現在要確定那些邊界才是真正的邊界。這時我們需要設置兩個閾值:minVal 和maxVal。當圖像的灰度梯度高于maxVal 時被認為是真的邊界,那些低于minVal 的邊界會被拋棄。如果介于兩者之間的話,就要看這個點是否與某個被確定為真正的邊界點相連,如果是就認為它也是邊界點,如果不是就拋棄。如下圖:

python opencv實現圖像邊緣檢測

在Python Opencv接口中,提供了Canny函數,可以對圖像進行一鍵執(zhí)行邊緣檢測。 

接下來,利用Canny函數進行邊緣檢測的實驗。

Canny函數需要指定幾個參數:

1、需要進行邊緣檢測的原圖
2、閾值下限
3、閾值上限

我們?yōu)榱四軌蚩吹讲煌撝捣秶鷮吘墮z測結果的影響,設置了兩個滑動條,來分別表示閾值上下限。

完整代碼如下:

# -*- coding: utf-8 -*-
"""
Created on Thu Sep 13 14:23:32 2018
@author: Leon
內容:
對圖片進行邊緣檢測;
添加滑動條,可自由調整閾值上下限。
"""
 
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
  # 讀取滑動條數值
  minval = cv2.getTrackbarPos('minval','Canny')
  maxval = cv2.getTrackbarPos('maxval','Canny')
  edges = cv2.Canny(img,minval,maxval)
  
  # 拼接原圖與邊緣監(jiān)測結果圖
  img_2 = np.hstack((img,edges))
  cv2.imshow('Canny',img_2)
 
cv2.destroyAllWindows()

另外有需要云服務器可以了解下創(chuàng)新互聯scvps.cn,海內外云服務器15元起步,三天無理由+7*72小時售后在線,公司持有idc許可證,提供“云服務器、裸金屬服務器、高防服務器、香港服務器、美國服務器、虛擬主機、免備案服務器”等云主機租用服務以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡單易用、服務可用性高、性價比高”等特點與優(yōu)勢,專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應用場景需求。

當前文章:pythonopencv實現圖像邊緣檢測-創(chuàng)新互聯
鏈接分享:http://muchs.cn/article10/dhcodo.html

成都網站建設公司_創(chuàng)新互聯,為您提供外貿網站建設關鍵詞優(yōu)化、搜索引擎優(yōu)化、網頁設計公司小程序開發(fā)網站維護

廣告

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

成都定制網站建設