用opencv实现高通高斯滤波器
时间: 2023-08-15 10:24:48 浏览: 110
结合opencv高斯滤波
5星 · 资源好评率100%
以下是使用OpenCV实现高通高斯滤波器的示例代码:
```python
import cv2
import numpy as np
# 读取图像
img = cv2.imread('image.jpg')
# 定义高斯核大小和标准差
kernel_size = 5
sigma = 1.5
# 创建高斯核
kernel = cv2.getGaussianKernel(kernel_size, sigma)
# 对图像进行高斯滤波
img_smooth = cv2.filter2D(img, -1, kernel)
# 高通滤波
img_highpass = cv2.subtract(img, img_smooth)
# 显示原图和处理后的图像
cv2.imshow('Original Image', img)
cv2.imshow('Highpass Gaussian Filtered Image', img_highpass)
cv2.waitKey(0)
cv2.destroyAllWindows()
```
在此示例中,我们首先读取了一张图像,然后定义了高斯核的大小和标准差。接下来,我们使用cv2.getGaussianKernel函数创建高斯核,并使用cv2.filter2D函数将其应用于图像。最后,我们计算高通滤波后的图像,并使用OpenCV库显示原始图像和处理后的图像。
阅读全文