求维纳滤波图像复原的C++或者OpenCV的程序代码!可运行的话,分数不是问题。真心求教!

推荐答案CLC;全部清除;
%读取原始图像
长格式
模糊= imread('fig525(B)BMP');
集(1,2,1 ),imshow(模糊的)标题(原始图像);

%自我功能维纳滤波
K = 0.0025;

[M,N] =大小(模糊的);
频谱= 0,(M,N);......

CLC;全部清除;
%读取原始图像
长格式
模糊= imread('fig525(B)BMP');
集(1,2,1 ),imshow(模糊的)标题(原始图像);

%自我功能维纳滤波
K = 0.0025;

[M,N] =大小(模糊的);
频谱= 0,(M,N);
H =零(M,N);
U = 1:M
V = 1: ? <BR / H(U,V)= exp(-K *((UM / 2)^ 2 +(VN / 2)^ 2)^(5/6));
光谱(U,V )= H(U,V)^ 2;结束

F =双(模糊);
F1 = fftshift( FFT?2(F))
HW = H /(频谱+0.001);

restore1 = HW。标题(“自我功能的三维F1
恢复=实际(ifft2(ifftshift(restore1)));
集(1,2,2),imshow(简历[] );满意过滤器“);

调用matlab维纳%
数字滤波器功能;
HW1 =(ifft2(ifftshift(H)));转换空域起来...... /> RESULT1 deconvwnr(HW1模糊,0.001);
2 = ifftshift(RESULT1);%

情节(图片交换了逆转,1,3象限的结果,四象限,2,1); imshow(结果2,[]);标题(“认购维纳滤波');

郑重声明:本站所有作品均由用户自行上传分享,仅供网友学习交流。若您的权利被侵害,请联系系我们修改或删除。