校园春色亚洲色图_亚洲视频分类_中文字幕精品一区二区精品_麻豆一区区三区四区产品精品蜜桃

主頁 > 知識庫 > Python OpenCV實現邊緣檢測

Python OpenCV實現邊緣檢測

熱門標簽:宿遷星美防封電銷卡 湛江智能外呼系統廠家 地圖標注審核表 西藏房產智能外呼系統要多少錢 外呼并發線路 百度地圖標注沒有了 長沙高頻外呼系統原理是什么 ai電銷機器人源碼 ai電話機器人哪里好

本文實例為大家分享了Python OpenCV實現邊緣檢測的具體代碼,供大家參考,具體內容如下

1. Sobel 算子檢測

Sobel 算子是高斯平滑和微分運算的組合,抗噪能力很強,用途也很多,尤其是效率要求高但對細紋理不是很在意的時候。

對于不連續的函數,有:

假設要處理的圖像為I,在兩個方向求導。

水平變化:用奇數大小的模板對圖像I卷積,結果為Gx。例如,當模板大小為3時,Gx為: 

垂直變化:用奇數大小的模板對圖像I卷積,結果為Gy。例如,當模板大小為3時,Gy為:

在圖像的每個點,結合以上兩個結果,得到: 

極大值的位置是圖像的邊緣。

當核大小為3時,上述Sobel核可能會產生更明顯的誤差。 為了解決這個問題,可以使用 Scharr 函數。這個函數只對大小為 3 的核有效,運算速度和 Sobel 函數一樣快,但是結果更準確。 計算方法為:

cv.Sobel(src, ddepth, dx, dy, dst, ksize, scale, delta, borderType)
參數:
src 傳入的圖像
ddepth 圖像的深度
dx、dy 指求導的階數,0表示這個方向上沒有求導,取值為0、1。
ksize Sobel算子的大小,即卷積核的大小,必須為奇數1、3、5、7,默認為3。-1代表3x3的Scharr算子。
scale 縮放導數的比例常數,默認情況為沒有伸縮系數。
borderType 圖像邊界的模式,默認值為cv.BORDER_DEFAULT。

需要對x和y兩個方向都調用一次cv.Sobel()函數。然后,對每個方向調用cv.convertScaleAbs()函數將其轉回uint8格式,再調用cv2.addWeighted()函數將兩個方向組合起來。

2. Laplacian 算子檢測

Laplacian 使用二階導數來檢測邊緣。 因為圖像是二維的,所以我們需要從兩個方向求導:

不連續函數的二階導數是:

使用的卷積核是:

cv.Laplacian(src, ddepth, ksize)
參數:
src 需要處理的圖像
ddepth 圖像的深度,-1表示采用的是原圖像相同的深度,目標圖像的深度必須大于等于原圖像的深度
ksize 算子的大小,即卷積核的大小,必須為1、3、5、7。

然后,對返回值調用cv.convertScaleAbs(res)即可獲得邊緣圖像。

3.  Canny 邊緣檢測

Canny 邊緣檢測算法由4個步驟組成。

1)去噪。由于邊緣檢測容易受噪聲影響,首先使用5*5高斯濾波器去除噪聲。

2)計算圖像梯度。在平滑圖像上使用 Sobel 算子計算水平和垂直方向的一階導數(Gx 和 Gy)。 根據得到的兩個梯度圖(Gx和Gy)求出邊界的梯度和方向,公式如下:

如果一個像素是一個邊緣,它的梯度方向總是垂直于邊緣。 梯度方向分為四類:垂直方向、水平方向和兩個對角線方向。

3)非極大值抑制。得到梯度的方向和大小后,掃描整個圖像去除那些非邊界點。 檢查每個像素點,看這個點的梯度是否在周圍具有相同梯度方向的點中最大。

A點位于圖像的邊緣。在其梯度變化的方向,選擇像素B和C,檢查A點的梯度是否為極大值。 如果是極大值,則保留,否則A點將被抑制,最后得到的結果是邊緣細的二值圖像。

4)滯后閾值。現在來確定真正的邊界。我們設置了兩個閾值:minVal 和 maxVal。 當圖像的灰度梯度高于 maxVal 時,認為是真正的邊界,低于minVal 的邊界將被丟棄。 如果介于兩者之間,則取決于該點是否連接到確定為真的邊界點。 如果是,則認為是邊界點,如果不是,則將其丟棄。 minVal 較小的閾值將間斷的邊緣連接起來,maxVal 較大的閾值檢測圖像中明顯的邊緣。如下圖: 

A 高于閾值 maxVal,因此它是真正的邊界點。雖然 C 低于 maxVal 但高于 minVal 并與 A 相連,所以它也被視為真正的邊界點。 B 會被丟棄,因為它低于 maxVal ,并且沒有連接到真正的邊界點。 所以,選擇合適的 maxVal 和 minVal 對于獲得好的結果非常重要。

cv.Canny(image, threshold1, threshold2)
參數:
image 灰度圖
threshold1 minval,較小的閾值
threshold2 maxval,較大的閾值

例:使用Sobel、Laplacian、Canny算法檢測下面圖像的邊緣。

import matplotlib
import cv2 as cv
import matplotlib.pyplot as plt
 
font = {
    "family": "Microsoft YaHei"
}
matplotlib.rc("font", **font)
 
img = cv.imread("./image/horse.jpg", 0)
 
# Sobel
x = cv.Sobel(img, cv.CV_16S, 1, 0)
y = cv.Sobel(img, cv.CV_16S, 0, 1)
absx = cv.convertScaleAbs(x)
absy = cv.convertScaleAbs(y)
res = cv.addWeighted(absx, 0.5, absy, 0.5, 0)
plt.imshow(res, cmap=plt.cm.gray)
plt.title("Sobel")
plt.show()
 
# Schaar
x = cv.Sobel(img, cv.CV_16S, 1, 0, ksize=-1)
y = cv.Sobel(img, cv.CV_16S, 0, 1, ksize=-1)
absx = cv.convertScaleAbs(x)
absy = cv.convertScaleAbs(y)
res = cv.addWeighted(absx, 0.5, absy, 0.5, 0)
plt.imshow(res, cmap=plt.cm.gray)
plt.title("Schaar")
plt.show()
 
# Laplacian
res = cv.Laplacian(img, cv.CV_16S)
res = cv.convertScaleAbs(res)
plt.imshow(res, cmap=plt.cm.gray)
plt.title("Laplacian")
plt.show()
 
# Canny
res = cv.Canny(img, 0, 100)
plt.imshow(res, cmap=plt.cm.gray)
plt.title("Canny")
plt.show()

輸出:

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。

您可能感興趣的文章:
  • OpenCV中Canny邊緣檢測的實現
  • Python實現Opencv cv2.Canny()邊緣檢測
  • 使用Python中OpenCV和深度學習進行全面嵌套邊緣檢測
  • OpenCV實現灰度、高斯模糊、邊緣檢測的示例
  • Python使用Opencv實現邊緣檢測以及輪廓檢測的實現
  • 如何利用Python 進行邊緣檢測
  • python實現canny邊緣檢測
  • OpenCV半小時掌握基本操作之邊緣檢測

標簽:寧夏 漯河 大同 海南 盤錦 普洱 南平 林芝

巨人網絡通訊聲明:本文標題《Python OpenCV實現邊緣檢測》,本文關鍵詞  Python,OpenCV,實現,邊緣,檢測,;如發現本文內容存在版權問題,煩請提供相關信息告之我們,我們將及時溝通與處理。本站內容系統采集于網絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《Python OpenCV實現邊緣檢測》相關的同類信息!
  • 本頁收集關于Python OpenCV實現邊緣檢測的相關信息資訊供網民參考!
  • 推薦文章
    校园春色亚洲色图_亚洲视频分类_中文字幕精品一区二区精品_麻豆一区区三区四区产品精品蜜桃
    中文天堂在线一区| 欧美人xxxx| 欧美高清一级片在线观看| 国产一区二区精品在线观看| 日韩午夜中文字幕| 国产在线播放一区三区四| 久久综合久色欧美综合狠狠| 韩国av一区二区三区| 亚洲国产成人午夜在线一区 | 国产精品热久久久久夜色精品三区| 国产精品一区二区免费不卡| 中文字幕欧美日韩一区| 色婷婷久久久综合中文字幕| 亚洲不卡在线观看| 2欧美一区二区三区在线观看视频| 国产高清亚洲一区| 亚洲免费av网站| 91精品一区二区三区久久久久久| 久久er精品视频| 国产精品美女久久久久aⅴ| 色综合久久88色综合天天| 亚洲va国产天堂va久久en| 精品欧美一区二区在线观看| 波多野结衣中文一区| 亚洲动漫第一页| 日韩久久精品一区| 99久久国产综合精品女不卡| 日韩av在线播放中文字幕| 久久久久国产精品麻豆ai换脸| av资源网一区| 蜜桃传媒麻豆第一区在线观看| 国产校园另类小说区| 欧美一区二区二区| 一区二区三区免费观看| 日韩欧美一级二级| 99久久精品免费精品国产| 免费在线观看视频一区| 国产精品的网站| 欧美tk—视频vk| 欧洲视频一区二区| 成人综合婷婷国产精品久久免费| 亚洲丶国产丶欧美一区二区三区| 久久久蜜桃精品| 欧美日本乱大交xxxxx| 成人免费视频视频| 精品无码三级在线观看视频| 亚洲一区中文在线| 国产日韩欧美亚洲| 日韩欧美的一区二区| 欧美视频中文一区二区三区在线观看| 国产精品一区二区x88av| 亚洲国产va精品久久久不卡综合 | 成人18视频在线播放| 日日夜夜精品免费视频| 亚洲精品视频在线| 国产精品初高中害羞小美女文| 精品久久久久久最新网址| 欧美日本在线一区| 欧美综合在线视频| 成人h动漫精品一区二| 国产精品资源在线| 美女视频一区在线观看| 性做久久久久久久免费看| 亚洲图片激情小说| 国产精品国产成人国产三级| 久久毛片高清国产| 日韩美一区二区三区| 欧美一区二区三区免费视频| 精品视频999| 在线观看亚洲一区| 在线亚洲免费视频| 色婷婷综合久久久中文字幕| 97久久精品人人做人人爽50路| 成人精品小蝌蚪| 丁香婷婷综合色啪| 成人综合婷婷国产精品久久免费| 国产精品一区免费视频| 国产精品亚洲视频| 岛国精品在线观看| 99九九99九九九视频精品| 成+人+亚洲+综合天堂| aaa欧美日韩| 91碰在线视频| 色婷婷亚洲综合| 欧美日韩久久不卡| 9191成人精品久久| 精品捆绑美女sm三区| 国产视频亚洲色图| 国产精品视频一二三区| 亚洲人成精品久久久久| 一区二区三区不卡视频在线观看| 成人激情综合网站| 捆绑变态av一区二区三区| 极品销魂美女一区二区三区| 国产一区二区不卡在线| 国产91精品在线观看| 91免费精品国自产拍在线不卡| 色婷婷久久综合| 9191久久久久久久久久久| 精品免费国产一区二区三区四区| 久久婷婷国产综合国色天香| 中文字幕免费一区| 一区二区三区 在线观看视频| 日本三级韩国三级欧美三级| 激情国产一区二区| 99精品欧美一区二区蜜桃免费| 欧美中文字幕不卡| 欧美电影免费观看高清完整版在线| 久久免费视频一区| 一区二区久久久久久| 蜜桃视频一区二区| www.欧美.com| 欧美精品在线视频| 久久婷婷色综合| 亚洲国产欧美日韩另类综合| 国产一区二区三区四区五区美女 | 欧美精品一区男女天堂| 亚洲三级久久久| 秋霞影院一区二区| 成人激情视频网站| 欧美女孩性生活视频| 欧美国产成人精品| 午夜影视日本亚洲欧洲精品| 国产在线不卡一区| 欧美在线观看视频在线| 久久综合九色综合97婷婷女人 | 国产精品久久久久久久久久免费看| 亚洲尤物视频在线| 风间由美一区二区av101| 欧美日韩激情一区二区| 亚洲国产精品ⅴa在线观看| 青青青爽久久午夜综合久久午夜| 成人18视频日本| 2014亚洲片线观看视频免费| 亚洲成人一二三| 9l国产精品久久久久麻豆| 精品国产第一区二区三区观看体验| 一区二区成人在线视频| 大尺度一区二区| 精品国产乱码久久久久久久| 亚洲成a人片在线不卡一二三区| 国产成人高清视频| 精品国产乱子伦一区| 五月激情综合婷婷| 一本色道久久综合亚洲精品按摩| 久久先锋资源网| 男人操女人的视频在线观看欧美| 91国偷自产一区二区三区成为亚洲经典 | 色婷婷综合久久久久中文| 久久你懂得1024| 日韩av一级片| 欧美日本视频在线| 亚洲国产你懂的| 91黄色小视频| 自拍偷拍国产亚洲| 成人免费观看av| 久久久久久久综合狠狠综合| 蜜桃视频在线观看一区| 这里只有精品99re| 视频一区二区三区中文字幕| 在线观看日韩av先锋影音电影院| 亚洲欧洲成人av每日更新| 成人高清视频在线| 国产精品人成在线观看免费| 丁香天五香天堂综合| 中文字幕精品三区| 盗摄精品av一区二区三区| 中文字幕精品一区二区精品绿巨人| 国产精品中文有码| 26uuu另类欧美亚洲曰本| 蜜桃视频一区二区| 欧美电影精品一区二区| 久久国产日韩欧美精品| 精品国产在天天线2019| 久久99热99| 久久久亚洲综合| 国产suv精品一区二区三区| 欧美激情综合五月色丁香小说| 成人午夜av影视| 亚洲乱码国产乱码精品精小说 | 91国产免费看| 亚洲综合一区在线| 7777女厕盗摄久久久| 奇米精品一区二区三区在线观看 | 欧美一区二区福利视频| 精品1区2区在线观看| 日韩欧美久久久| 在线免费视频一区二区| 一区二区三区**美女毛片| 欧美蜜桃一区二区三区| 日韩成人一级片| xnxx国产精品| 成人免费观看视频| 一区二区久久久久| 日韩欧美黄色影院| 成人精品亚洲人成在线| 亚洲国产成人av网| 精品国产免费一区二区三区香蕉| 成人激情开心网| 日韩国产欧美三级|