同态滤波python代码
时间: 2024-07-17 22:00:42 浏览: 96
同态滤波是一种图像处理技术,它利用信号的自相似性质对图像进行平滑或锐化处理,常用于噪声去除或边缘增强。在Python中,我们可以使用OpenCV库来实现同态滤波。这里是一个简单的例子:
```python
import cv2
import numpy as np
# 读取图像
img = cv2.imread('your_image_path', 0) # 0表示灰度图像
# 初始化高斯内核大小和迭代次数
kernel_size = 5
iterations = 1
# 使用cv2.GaussianBlur()创建高斯核
gaussian_kernel = cv2.getGaussianKernel(kernel_size, 0)
# 创建拉普拉斯算子
laplacian_operator = np.array([[0, -1, 0], [-1, 4, -1], [0, -1, 0]])
# 同态滤波
homogeneous_filter = cv2.filter2D(img, -1, laplacian_operator, borderType=cv2.BORDER_DEFAULT)
# 使用闭运算进行去噪(可选)
closed_filter = cv2.morphologyEx(homogeneous_filter, cv2.MORPH_CLOSE, gaussian_kernel, iterations=iterations)
# 显示原图和处理后的图像
cv2.imshow('Original Image', img)
cv2.imshow('Homomorphic Filtered Image', closed_filter)
cv2.waitKey(0)
cv2.destroyAllWindows()
```
阅读全文