Canny 边缘检测

Posted 陨星落云

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Canny 边缘检测相关的知识,希望对你有一定的参考价值。

Canny 边缘检测

在 OpenCV 中,使用函数:cv2.Canny()

cv2.Canny(image, threshold1, threshold2[, edges[, apertureSize[, L2gradient ]]])

参数解释

  • image:源图像
  • threshold1:阈值1
  • threshold2:阈值2
  • apertureSize:可选参数,Sobel算子的大小,默认值为 3
  • L2gradient,它可以用来设定求梯度大小的方程。如果设为 True,就会使用方程: E d g e − Gradient ( G ) = G x 2 + G y 2 E d g e_{-} \\text {Gradient}(G)=\\sqrt{G_{x}^{2}+G_{y}^{2}} EdgeGradient(G)=Gx2+Gy2 ,否则使用方程:KaTeX parse error: Expected \'}\', got \'_\' at position 12: \\text {Edge_̲Gradient}(G)=\\l…代替,默认值为 False。
def nothing(x):
    pass
img = cv2.imread(\'lena.jpg\')
cv2.namedWindow(\'edges\',cv2.WINDOW_NORMAL)
cv2.createTrackbar(\'minVal\',\'edges\',0,255,nothing)
cv2.createTrackbar(\'maxVal\',\'edges\',0,255,nothing)

while(1):
    minval=cv2.getTrackbarPos(\'minVal\',\'edges\')
    maxval=cv2.getTrackbarPos(\'maxVal\',\'edges\')
    edges = cv2.Canny(img,minval,maxval)
    cv2.imshow(\'edges\',edges)
    k=cv2.waitKey(1)&0xFF
    if k==27:
        break
cv2.destroyAllWindows()


参考文献:《数字图像处理》《OpenCV-Python 中文教程》

以上是关于Canny 边缘检测的主要内容,如果未能解决你的问题,请参考以下文章

openCV Canny 边缘检测改进

Canny边缘检测算法的步骤和理解

Canny边缘检测算法(python 实现)

Canny边缘检测

Matlab边缘检测问题

转载传统车道线检测-canny边缘检测-霍夫变换-完整代码(python)