当前位置: 代码网 > it编程>前端脚本>Python > python OpenCV 库中的 cv2.Canny() 函数来对图像进行边缘检测,并显示检测到的边缘特征

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

2024年08月01日 Python 我要评论
Canny 算法使用这两个阈值来过滤边缘特征。低于低阈值的边缘特征会被忽略,高于高阈值的边缘特征会被保留。介于两个阈值之间的边缘特征则根据其连接情况来判断是否保留。运行这段代码后,会弹出一个窗口,显示 "4.png" 图像的边缘特征。函数是 OpenCV 中常用的边缘检测算法。函数加载名为 "4.png" 的图像文件。
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() 函数在图像上绘制轮廓。
(0)

相关文章:

版权声明:本文内容由互联网用户贡献,该文观点仅代表作者本人。本站仅提供信息存储服务,不拥有所有权,不承担相关法律责任。 如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 2386932994@qq.com 举报,一经查实将立刻删除。

发表评论

验证码:
Copyright © 2017-2025  代码网 保留所有权利. 粤ICP备2024248653号
站长QQ:2386932994 | 联系邮箱:2386932994@qq.com