sobel边缘检测代码
时间: 2024-01-12 08:03:38 浏览: 128
DM642 Sobel 边缘检测 代码
这里给出Python实现的Sobel边缘检测代码:
```python
import cv2
import numpy as np
# 读取图像
img = cv2.imread('lena.jpg', 0)
# 进行Sobel边缘检测
sobelx = cv2.Sobel(img, cv2.CV_64F, 1, 0, ksize=3)
sobely = cv2.Sobel(img, cv2.CV_64F, 0, 1, ksize=3)
# 计算梯度幅值和方向
grad = np.sqrt(sobelx ** 2 + sobely ** 2)
grad = np.uint8(grad)
theta = np.arctan2(sobely, sobelx) * 180 / np.pi
# 显示结果
cv2.imshow('original', img)
cv2.imshow('sobelx', sobelx)
cv2.imshow('sobely', sobely)
cv2.imshow('gradient', grad)
cv2.waitKey(0)
```
这个代码使用`cv2.Sobel()`函数进行Sobel边缘检测,同时计算梯度幅值和方向。最后使用opencv的imshow()函数显示结果图像。
阅读全文