python中边缘提取
时间: 2023-11-06 22:59:28 浏览: 125
基于最大旋转角的点云边缘提取(基于python语言编写)
在Python中进行边缘提取可以使用OpenCV库中的Canny函数。Canny函数是一种基于梯度的边缘检测算法,它采用了高斯平滑滤波器和Sobel算子来计算图像的梯度,并通过非极大值抑制和双阈值检测来提取边缘。
下面是一个简单的使用OpenCV库中的Canny函数进行边缘提取的示例代码:
```python
import cv2
# 读取图像
img = cv2.imread('test.jpg', 0)
# 对图像进行Canny边缘提取
edges = cv2.Canny(img, 100, 200)
# 显示原始图像和边缘图像
cv2.imshow('Original', img)
cv2.imshow('Edges', edges)
cv2.waitKey(0)
cv2.destroyAllWindows()
```
在上面的代码中,首先使用cv2.imread函数读取一张灰度图像,然后使用cv2.Canny函数对图像进行边缘提取,其中100和200分别表示低阈值和高阈值,可以根据具体需求进行调整。最后使用cv2.imshow函数显示原始图像和边缘图像,cv2.waitKey函数等待用户按下任意键,cv2.destroyAllWindows函数关闭所有窗口。
注意:如果要对彩色图像进行边缘提取,需要先将图像转换为灰度图像,可以使用cv2.cvtColor函数实现。
阅读全文