背景
多年来,图像去雨已经被广泛研究,使用传统方法和基于学习的方法。然而,传统方法如高斯混合模型和字典学习方法耗时,并且无法很好地处理受到严重雨滴影响的图像块。
算法
通过考虑雨滴条状特性和角度分布,这个问题可以得到很好的解决。在本文中,通过引入任意方向的方向梯度算子,我们提出了一种高效且稳健的基于约束的模型用于单幅图像去雨。此外,一个雨滴条状密度度量被应用于将所提出的模型推广到轻雨和重雨的情况。
通过建立分层结构,是的图像由:
I=B+R
即图像由背景层+雨层构成。如何将雨层与背景层隔离,面临着巨大的逻辑处理。通过大量实验,我们得出,雨层在图像中高亮且有规律的存在。通过构建雨线长、宽、角度信息。加之考虑其亮度通道,我们可以完美提取出雨层,由此完成了图像去雨任务。
#qq1309399183
Theta_cluster = []#
for i in range(1,num,1):
b=np.argwhere(L==i)
h,_=b.shape
c=b-np.mean(b,0)
c_T=c.T
A=np.zeros((2,2))
for i in range(2):
for j in range(2):
A[i,j]=np.sum(c_T[i,:]*c[:,j])
W,V=np.linalg.eig(A) #W特征值 V特征向量
# lambda1 = abs(W[0])
# lambda2 = abs(W[1])
lambda1 = min(abs(W[0]),abs(W[1]))
lambda2 = max(abs(W[0]),abs(W[1]))
代码运行
1.更换图像输入路径
2.然后点击运行即可
python derain.py
结论
在合成数据集上的大量实验证明,所提出的模型在需要更少时间的情况下优于GMM和JCAS。此外,在真实场景中,与最先进的基于学习的方法相比,所提出的方法获得了更好的泛化能力。