Sobel算子的 反锐化掩模算法,python编程
时间: 2023-07-02 21:12:29 浏览: 127
学习笔记python+opencv利用拉普拉斯算子锐化与sobel算子锐化(csdn)————程序.pdf
5星 · 资源好评率100%
下面是使用Python实现Sobel算子反锐化掩模算法的代码:
```python
import cv2
import numpy as np
# 读取图像
img = cv2.imread('image.png', cv2.IMREAD_GRAYSCALE)
# 定义Sobel算子
sobel_x = cv2.Sobel(img, cv2.CV_64F, 1, 0, ksize=3)
sobel_y = cv2.Sobel(img, cv2.CV_64F, 0, 1, ksize=3)
# 计算边缘图像
edge_img = cv2.magnitude(sobel_x, sobel_y)
# 高斯滤波
gaussian_img = cv2.GaussianBlur(img, (5, 5), 0)
# 计算细节图像
detail_img = img - gaussian_img
# 叠加细节图像和原始图像
unsharp_mask = cv2.addWeighted(img, 1.5, detail_img, -0.5, 0)
# 显示结果
cv2.imshow('Original Image', img)
cv2.imshow('Edge Image', edge_img)
cv2.imshow('Detail Image', detail_img)
cv2.imshow('Unsharp Mask', unsharp_mask)
cv2.waitKey(0)
cv2.destroyAllWindows()
```
在这个例子中,我们首先读取一张灰度图像,然后使用OpenCV提供的Sobel算子计算图像的边缘信息。接着,我们对原始图像进行高斯滤波,得到平滑图像。然后,我们将平滑图像和原始图像相减,得到细节图像。最后,我们将细节图像和原始图像叠加,得到增强后的图像。最终结果会显示在窗口中。
阅读全文