日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 >

opencv学习笔记18:canny算子边缘检测原理及其函数使用

發布時間:2024/9/30 35 豆豆
生活随笔 收集整理的這篇文章主要介紹了 opencv学习笔记18:canny算子边缘检测原理及其函数使用 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

canny邊緣檢測原理

去噪:邊緣檢測容易受到噪聲的影響,在此之間,先去噪,通常采用高斯濾波器。opencv學習筆記11:圖像濾波(均值,方框,高斯,中值)
梯度:對去噪后的圖像采用sobel算子計算梯度和方向。
這里的梯度不同于前面值只計算大小,這里還需計算方向。
梯度大小和方向公式見下
梯度的方向一般與邊界垂直,分為四類:垂直,水平,和兩個對角線。

非極大值抑制:在獲得梯度和方向,去除所有不是邊界的點。實現方向:逐漸遍歷像素點,判斷當前像素點是否是周圍像素點中具有相同方向梯度的最大值。是保留,不是則為0.

滯后閾值:有兩個閾值,minVal,maxVal
處理方法見圖:
大于maxVal保留,
小于maxVal但大于minVal且與邊界相連保留。
其他舍棄

canny邊緣檢測函數使用

edges=cv2.Canny(image,threshold1,threshold2)
edges:處理結果
image:原始圖像
threshold1:minVal
threshold2:maxVal
如果想讓邊界細節更多,則把threshold1和threshold2設小些。

python+OpenCV

import cv2 import numpy as np o=cv2.imread("lena.bmp",cv2.IMREAD_GRAYSCALE)#讀取灰色圖 r=cv2.Canny(o,100,200) cv2.imshow("original",o) cv2.imshow("result",r) cv2.waitKey() cv2.destroyAllWindows()

改變threshold

import cv2 import numpy as np o=cv2.imread("lena.bmp",cv2.IMREAD_GRAYSCALE) r=cv2.Canny(o,64,100) cv2.imshow("original",o) cv2.imshow("result",r) cv2.waitKey() cv2.destroyAllWindows()

更小的值有更多的細節

總目錄鏈接:
python3+opencv學習筆記匯總目錄(適合基礎入門學習)

進階版筆記:
opencv進階學習筆記11:cannny邊緣檢測,直線檢測,圓檢測
電氣專業的計算機小白,寫博文不容易,如果你覺得本文對你有用,請點個贊支持下,謝謝。

總結

以上是生活随笔為你收集整理的opencv学习笔记18:canny算子边缘检测原理及其函数使用的全部內容,希望文章能夠幫你解決所遇到的問題。

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