用opencv对图像进行梯形低通滤波器图像平滑代码
时间: 2023-10-03 15:06:51 浏览: 148
opencv 图像平滑处理
5星 · 资源好评率100%
下面是用OpenCV实现梯形低通滤波器图像平滑的代码:
```python
import cv2
import numpy as np
img = cv2.imread('input.jpg') # 读入图片
img_gray = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY) # 转换为灰度图像
# 定义梯形低通滤波器
kernel = np.array([[-1, -1, -1, -1, -1],
[-1, 2, 2, 2, -1],
[-1, 2, 8, 2, -1],
[-1, 2, 2, 2, -1],
[-1, -1, -1, -1, -1]]) / 8.0
# 使用滤波器进行图像平滑
img_smooth = cv2.filter2D(img_gray, -1, kernel)
cv2.imshow('Input', img_gray)
cv2.imshow('Output', img_smooth)
cv2.waitKey(0)
cv2.destroyAllWindows()
```
这里定义了一个$5\times5$的梯形低通滤波器,然后使用`cv2.filter2D()`函数对灰度图像进行滤波,得到平滑后的图像。最后将原图和平滑后的图像显示出来。
阅读全文