二值图像边缘检测代码
时间: 2024-09-25 17:20:52 浏览: 22
matlab 图像边缘检测(数据+完整代码)
在Python中,我们可以使用OpenCV库来进行二值图像的边缘检测。这里是一个基本的例子,展示了如何使用Canny边缘检测算法:
```python
import cv2
import numpy as np
# 加载或创建二值图像
binary_image = cv2.imread('binary_image.png', 0) # 0表示加载为灰度图像
# Canny边缘检测
edges = cv2.Canny(binary_image, low_threshold=50, high_threshold=150)
# 设置边缘颜色(这里是红色)
edges = cv2.cvtColor(edges, cv2.COLOR_GRAY2BGR)
edges[:, :, 2] = 0 # 红色通道赋值为0,保留蓝色绿色
edges[:, :, 1] = edges # 蓝绿通道复制边缘信息
# 显示原图和边缘检测结果
cv2.imshow("Original Image", binary_image)
cv2.imshow("Edges", edges)
cv2.waitKey(0)
cv2.destroyAllWindows()
```
在这个例子中,`low_threshold` 和 `high_threshold` 是Canny算法的两个阈值参数,它们控制着边缘响应的强度。你需要根据你的实际图像调整这两个参数。
阅读全文