edges = cv2.Canny(gray, low_threshold, high_threshold)的用法
时间: 2024-08-12 07:08:45 浏览: 62
`cv2.Canny()` 是 OpenCV(Computer Vision Library)中的一个函数,用于在图像处理中应用Canny边缘检测算法。这个函数在计算机视觉中非常常见,用于从灰度图像中找到边缘。参数解释如下:
1. `gray`: 这是输入的灰度图像。通常是从彩色图像通过灰度化处理得到的,如使用 `cv2.cvtColor(image, cv2.COLOR_BGR2GRAY)`。
2. `low_threshold`: 这是低阈值,边缘检测的敏感度级别。函数会寻找强度变化大于此阈值的像素点作为边缘候选。
3. `high_threshold`: 这是高阈值,进一步筛选候选边缘。如果候选像素的强度变化大于这个值,那么该像素被认为是边缘。小于低阈值但大于等于低阈值的像素可能被连接起来形成边缘。
用法示例:
```python
import cv2
import numpy as np
# 读取图像
image = cv2.imread('image.jpg', cv2.IMREAD_GRAYSCALE)
# 应用Canny边缘检测
low_threshold = 50
high_threshold = 150
edges = cv2.Canny(image, low_threshold, high_threshold)
# 显示原图和边缘检测结果
cv2.imshow('Original Image', image)
cv2.imshow('Edges', edges)
# 等待用户按键后关闭窗口
cv2.waitKey(0)
cv2.destroyAllWindows()
```