在python环境下用sobel算子对图像锐化处理
时间: 2023-12-27 10:05:14 浏览: 92
用于图像处理的sobel算子
以下是使用sobel算子对图像锐化的Python示例代码:
```python
import cv2
import numpy as np
# 读取图像
img = cv2.imread('image.jpg', cv2.IMREAD_GRAYSCALE)
# 定义sobel算子
sobel_x = np.array([[-1, 0, 1], [-2, 0, 2], [-1, 0, 1]])
sobel_y = np.array([[-1, -2, -1], [0, 0, 0], [1, 2, 1]])
# 对图像进行sobel算子卷积
img_sobel_x = cv2.filter2D(img, -1, sobel_x)
img_sobel_y = cv2.filter2D(img, -1, sobel_y)
# 将x和y方向的sobel算子卷积结果融合
img_sobel = cv2.addWeighted(img_sobel_x, 0.5, img_sobel_y, 0.5, 0)
# 显示结果
cv2.imshow('Original Image', img)
cv2.imshow('Sobel Sharpened Image', img_sobel)
cv2.waitKey(0)
cv2.destroyAllWindows()
```
在这个示例中,我们首先读取了一张灰度图像。然后定义了x和y方向的sobel算子,并使用`cv2.filter2D()`函数对图像进行卷积,得到x和y方向上的sobel算子卷积结果。最后,将x和y方向的卷积结果融合,并使用`cv2.addWeighted()`函数进行加权平均,得到锐化后的图像。最后,使用`cv2.imshow()`函数显示原始图像和锐化后的图像。
阅读全文