日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

OpenCV Sobel检测算子和Scharr检测算子

發(fā)布時間:2025/5/22 编程问答 16 豆豆
生活随笔 收集整理的這篇文章主要介紹了 OpenCV Sobel检测算子和Scharr检测算子 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

Sobel邊緣檢測算法比較簡單,實際應用中效率比canny邊緣檢測效率要高,但是邊緣不如Canny檢測的準確,但是很多實際應用的場合,sobel邊緣卻是首選,Sobel算子是高斯平滑與微分操作的結合體,所以其抗噪聲能力很強,用途較多。尤其是效率要求較高,而對細紋理不太關心的時候。

Sobel_x_or_y = cv2.Sobel(src, ddepth, dx, dy, dst, ksize, scale, delta, borderType)
  • src:傳入的圖像

  • ddepth: 圖像的深度

  • dx和dy: 指求導的階數(shù),0表示這個方向上沒有求導,取值為0、1。

  • ksize: 是Sobel算子的大小,即卷積核的大小,必須為奇數(shù)1、3、5、7,默認為3。

    注意:如果ksize=-1,就演變成為3x3的Scharr算子。

  • scale:縮放導數(shù)的比例常數(shù),默認情況為沒有伸縮系數(shù)。

  • borderType:圖像邊界的模式,默認值為cv2.BORDER_DEFAULT。

Sobel函數(shù)求完導數(shù)后會有負值,還有會大于255的值。而原圖像是uint8,即8位無符號數(shù),所以Sobel建立的圖像位數(shù)不夠,會有截斷。因此要使用16位有符號的數(shù)據(jù)類型,即cv2.CV_16S。處理完圖像后,再使用cv2.convertScaleAbs()函數(shù)將其轉回原來的uint8格式,否則圖像無法顯示。

Sobel算子是在兩個方向計算的,最后還需要用cv2.addWeighted( )函數(shù)將其組合起來

Scale_abs = cv2.convertScaleAbs(x) # 格式轉換函數(shù) result = cv2.addWeighted(src1, alpha, src2, beta) # 圖像混合 import cv2 as cv from matplotlib import pyplot as plt # 1 讀取圖像 img = cv.imread('./1.png', 0)# 2.1 計算Sobel卷積結果 x1 = cv.Sobel(img, cv.CV_16S, 1, 0) # x軸求導 y1 = cv.Sobel(img, cv.CV_16S, 0, 1) # y軸求導# 2.2 計算Scharr卷積結果 x2 = cv.Sobel(img, cv.CV_16S, 1, 0, ksize=-1) y2 = cv.Sobel(img, cv.CV_16S, 0, 1, ksize=-1)# 3.1 將Sobel數(shù)據(jù)結果進行轉換 Scale_absX1 = cv.convertScaleAbs(x1) # convert 轉換 scale 縮放 Scale_absY1 = cv.convertScaleAbs(y1)# 3.2 將Scharr數(shù)據(jù)結果進行轉換 Scale_absX2 = cv.convertScaleAbs(x2) # convert 轉換 scale 縮放 Scale_absY2 = cv.convertScaleAbs(y2)# 4.1 Sobel轉換后結果合成 result1 = cv.addWeighted(Scale_absX1, 0.5, Scale_absY1, 0.5, 0)# 4.2 Scharr轉換后結果合成 result2 = cv.addWeighted(Scale_absX2, 0.5, Scale_absY2, 0.5, 0)# 5. 圖像顯示 fig, axes = plt.subplots(nrows=1, ncols=3, figsize=(10, 8), dpi=100) axes[0].imshow(img, cmap=plt.cm.gray) axes[0].set_title("原圖") axes[1].imshow(result1, cmap=plt.cm.gray) axes[1].set_title("Sobel濾波后結果") axes[2].imshow(result2, cmap=plt.cm.gray) axes[2].set_title("Scharr濾波后結果") plt.show()


上述代碼中計算sobel算子的部分中將ksize設為-1,就是利用Scharr進行邊緣檢測。

x = cv.Sobel(img, cv.CV_16S, 1, 0, ksize=-1) y = cv.Sobel(img, cv.CV_16S, 0, 1, ksize=-1) 《新程序員》:云原生和全面數(shù)字化實踐50位技術專家共同創(chuàng)作,文字、視頻、音頻交互閱讀

總結

以上是生活随笔為你收集整理的OpenCV Sobel检测算子和Scharr检测算子的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 欧美亚韩一区二区三区 | 欧美一区二区不卡视频 | 91免费福利 | 国产成人av免费看 | 又色又爽又高潮免费视频国产 | 丰满少妇一区二区三区 | 亚洲裸体视频 | 天天插av | www亚洲视频| 日韩黄色片免费看 | 久久亚洲成人av | 国产又爽又黄又嫩又猛又粗 | 国偷自拍| 亚洲淫| 国产草草 | 好吊一区| 吖v在线 | 天堂中文在线视频 | 欧美成人精品一区二区 | 亚洲一区二区三区婷婷 | 在线观看日本中文字幕 | 天天操天天看 | 美攻壮受大胸奶汁(高h) | 国产精品久久久久久久久久久不卡 | 国产精品久久久久久久久久久久久久久 | av图片在线观看 | 91亚洲精品久久久久久久久久久久 | 国产大片91 | 日本老熟妇乱 | 精品中文字幕在线观看 | 男女午夜视频在线观看 | 国产不卡在线观看视频 | 日韩精品视频一区二区三区 | 一区二区在线观看av | 最新视频–x99av | 国产大尺度视频 | 亚洲丝袜在线观看 | 成人av一区二区三区在线观看 | 自拍视频在线观看 | 日韩青青草| 成人免费黄 | 成年人在线视频 | 色之久久综合 | 久久禁| 欧美xxxxx精品| 涩涩视频网址 | av大帝| 亚洲精品国产美女 | 天天射天天舔 | √天堂在线 | 欧美性理论片在线观看片免费 | 成人精品二区 | 免费观看av毛片 | 开心色婷婷 | 欧美成人乱码一二三四区免费 | 人妻熟人中文字幕一区二区 | 男女av免费| 中文字幕在线亚洲 | 一级片在线免费播放 | 激情综合五月天 | 美日韩一区二区三区 | 伊人久久爱 | 日韩av资源在线观看 | 在线视频一二区 | 粉嫩av.com| 女同亚洲精品一区二区三 | 成人免费无遮挡无码黄漫视频 | 国内毛片毛片毛片毛片 | 天天爱综合网 | 茄子av| 丁香婷婷网 | 午夜大片在线观看 | 九色国产视频 | 亚洲欧美一区二区在线观看 | 欧美一区二区三区久久成人精品 | 青青草原av在线 | 男女深夜福利 | 99精品久久久久久 | 日本少妇喷水视频 | 最污的网站| 国产又粗又黄的视频 | 国产精品高潮呻吟AV无码 | 国产日韩欧美中文字幕 | 亚洲看看 | av一二三四| 日本激情视频在线观看 | 91精品观看| 青青操在线| 亚洲加勒比| 免费日韩欧美 | 九草视频在线观看 | 91香蕉国产在线观看软件 | 欧美午夜久久 | 夜夜天天干| 在线观看免费国产 | 精品久久久久久亚洲综合网站 | 国产午夜亚洲精品午夜鲁丝片 | 成人网站在线进入爽爽爽 | 婷久久|