python OpenCV 库中的 cv2.Canny() 函数来对图像进行边缘检测,并显示检测到的边缘特征

import cv2

# 加载图像
image = cv2.imread('4.png')

# 使用 Canny 边缘检测算法提取边缘特征
edges = cv2.Canny(image, 100, 200)

# 显示边缘特征
cv2.imshow('Edges', edges)
cv2.waitKey(0)
cv2.destroyAllWindows()

 

代码解析:

  1. 导入 OpenCV 库:
   import cv2
  1. 加载图像:
   image = cv2.imread('4.png')

这行代码使用 cv2.imread() 函数加载名为 "4.png" 的图像文件。

  1. 使用 Canny 边缘检测算法:
   edges = cv2.Canny(image, 100, 200)

cv2.Canny() 函数是 OpenCV 中常用的边缘检测算法。它接受两个参数:

  • image: 要进行边缘检测的图像。
  • threshold1: 低阈值。
  • threshold2: 高阈值。
  • Canny 算法使用这两个阈值来过滤边缘特征。低于低阈值的边缘特征会被忽略,高于高阈值的边缘特征会被保留。介于两个阈值之间的边缘特征则根据其连接情况来判断是否保留。

    1. 显示边缘特征:
       cv2.imshow('Edges', edges)
       cv2.waitKey(0)
       cv2.destroyAllWindows()
    
  • cv2.imshow() 函数用于显示图像。第一个参数是窗口的名称,第二个参数是图像数据。
  • cv2.waitKey(0) 函数用于等待用户按下任何键。
  • cv2.destroyAllWindows() 函数用于关闭所有窗口。
  • 代码运行结果:

    运行这段代码后,会弹出一个窗口,显示 "4.png" 图像的边缘特征。

    一些建议:

  • 你可以调整 threshold1 和 threshold2 的值来控制边缘检测的敏感度。
  • 如果图像中存在噪声,可以使用 cv2.GaussianBlur() 函数对图像进行模糊处理,以减少噪声的影响。
  • 你可以使用 cv2.findContours() 函数来查找图像中的轮廓,并使用 cv2.drawContours() 函数在图像上绘制轮廓。
  • 作者:U盘失踪了

    物联沃分享整理
    物联沃-IOTWORD物联网 » python OpenCV 库中的 cv2.Canny() 函数来对图像进行边缘检测,并显示检测到的边缘特征

    发表回复