wls滤波python
时间: 2024-04-24 14:20:35 浏览: 180
WLS(Weighted Least Squares)滤波是一图像处理中常用的滤波方法,用于降噪和平滑图像。它在保持图像细节的同时,有效地减少噪声的影响。
在Python中,可以使用OpenCV库来实现WLS滤波。下面是一个简单的示例代码:
```python
import cv2
def wls_filter(image, lambda_val=0.25, sigma_val=2.0):
# 转换为灰度图像
gray = cv2.cvtColor(image, cv2.COLOR_BGR2GRAY)
# 创建导向图像
guide = cv2.ximgproc.createGuidedFilter(gray, lambda_val, sigma_val)
# 应用WLS滤波
filtered = guide.filter(image)
return filtered
# 读取图像
image = cv2.imread('input.jpg')
# 应用WLS滤波
filtered_image = wls_filter(image)
# 显示结果
cv2.imshow('Filtered Image', filtered_image)
cv2.waitKey(0)
cv2.destroyAllWindows()
```
在上述代码中,我们首先将彩色图像转换为灰度图像,然后创建一个导向滤波器(guided filter),并使用该滤波器对图像进行滤波操作。最后,我们显示滤波后的图像。
阅读全文