使用正规化滤波器解模糊图像
这个例子展示了如何使用正规化反褶积解模糊图像。正规化的反褶积时可以有效地使用有限的信息了解添加剂噪声和约束(如平滑)是应用于图像恢复。嘈杂的模糊图像恢复的约束最小二乘算法恢复使用正规化滤波器。
模拟高斯模糊和高斯噪声
读取和显示原始图像没有模糊或噪音。
我= im2double (imread (“tissue.png”));imshow (I)标题(的“原始图像”)文本(大小(我,2),大小(我,1)+ 15,…”阿兰同谋,图片由约翰霍普金斯大学”,…字形大小= 7,HorizontalAlignment =“正确”)
可能造成模拟模糊图像一片透镜。首先,创建一个点扩散函数,PSF
,通过使用fspecial
功能和指定一个高斯滤波器和标准偏差的大小每组11行11列5。然后,点扩散函数进行卷积图像通过使用imfilter
。
PSF = fspecial (“高斯”11日,5);模糊= imfilter (PSF,我“conv”);
添加零均值高斯噪声的模糊图像通过使用imnoise
函数。
noise_mean = 0;noise_var = 0.02;blurred_noisy = imnoise(模糊,“高斯”、noise_mean noise_var);
显示模糊的图像。
imshow (blurred_noisy)标题(“模糊和噪声图像”)
使用估计噪声功率恢复图像
恢复模糊图像通过使用deconvreg
功能,提供噪声功率(NP)作为第三个输入参数。来说明算法的噪声敏感能力,本例中执行三个修复。
第一,使用真正的NP。注意,这里的示例输出两个参数。第一个返回值,reg1
恢复图像。第二个返回值,lagra
是一个标量正规化的拉格朗日乘子反褶积聚集。这个值是在稍后的示例中使用。
NP = noise_var *元素个数(我);[reg1, lagra] = deconvreg (PSF, blurred_noisy NP);imshow (reg1)标题(“恢复真正的NP”)
第二修复,使用略有高估了噪声功率。恢复了可怜的决议。
NP_scale1 =1.1;reg2 = deconvreg (PSF, blurred_noisy NP * NP_scale1);imshow (reg2)标题(“与更大的NP恢复”)
第三修复,使用略有低估了噪声功率。噪声功率乘数越小,越强噪声放大和振铃的图像边界。
NP_scale2 =0.9;reg3 = deconvreg (PSF, blurred_noisy NP * NP_scale2);imshow (reg3)标题(“恢复与较小的NP”)
减少噪声放大和铃声
可以减少噪音放大和振铃的边界图像通过调用edgetaper
前反褶积的函数。图像噪声功率参数恢复就变得不那么敏感。
锥形= edgetaper (blurred_noisy PSF);reg4 = deconvreg (PSF,锥形NP * NP_scale2);imshow (reg4)标题(“小NP和边缘逐渐减少恢复”)
使用拉格朗日乘子
恢复和嘈杂的图像模糊,假设最优解已经发现和对应的拉格朗日乘子。在这种情况下,任何值通过噪声功率,NP,被忽略。
说明敏感的拉格朗日乘子算法,本例中执行三个修复。第一个恢复使用lagra
的输出reg1
恢复执行。
reg5 = deconvreg(锥形,PSF, [], lagra);imshow (reg5)标题(“与LAGRA恢复”)
比第二个恢复使用更大的价值lagra
的输出reg1
恢复。更大的值增加约束的重要性。默认情况下,这会导致oversmoothing的形象。
lagra_scale1 =One hundred.;reg6 = deconvreg(锥形,PSF, [], lagra * lagra_scale1);imshow (reg6)标题(“大LAGRA恢复”)
第三个恢复使用一个更小的值比lagra
的输出reg1
恢复。削弱了一个较小的值约束(图像平滑度要求设置)。它放大了噪声。极端的例子的拉格朗日乘数= 0时,重建是一个纯粹的反滤波。
lagra_scale2 =0.01;reg7 = deconvreg(锥形,PSF, [], lagra * lagra_scale2);imshow (reg7)标题(“小LAGRA恢复”)
使用不同的平滑约束
恢复的嘈杂的图像使用不同的模糊约束正则化算子。而不是使用默认的拉普拉斯算子在图像平滑约束,限制使用3×3的高斯拉普拉斯算子的图像平滑(日志)算子。
h = fspecial (“日志”3);reg8 = deconvreg (blurred_noisy PSF, [], lagra, h);imshow (reg8)标题(“LoG算子约束”)
另请参阅
deconvreg
|imnoise
|fspecial
|imfilter