Labfans是一个针对大学生、工程师和科研工作者的技术社区。 | 论坛首页 | 联系我们(Contact Us) |
![]() |
![]() |
#1 |
初级会员
注册日期: 2019-01-15
年龄: 27
帖子: 1
声望力: 0 ![]() |
![]()
在图像复原的时候,使用matlab自带的deconvblind或deconvlucy函数后得到的图片出现了纹理错位的情况,如下图所示:
错位.jpg 请问是什么原因导致的,我应该如何修改? 附原图和PSF: yuantu.jpg PSF1.jpg 部分程序: %生成PSF Row = 1080; Column = 1920; alpha = q(1); if rem(Row,2)==0 for u=-Row/2:Row/2-1 if rem(Column,2)==0 for v=-Column/2:Column/2-1 H_Estimate(u+Row/2+1,v+Column/2+1)=exp(-alpha*(u^2+v^2)^beta); end else for v=-(Column-1)/2 ![]() H_Estimate(u+Row/2+1,v+(Column-1)/2+1)=exp(-alpha*(u^2+v^2)^beta); end end end else for u=-(Row-1)/2 ![]() if rem(Column,2)==0 for v=-Column/2:Column/2-1 H_Estimate(u+(Row-1)/2+1,v+Column/2+1)=exp(-alpha*(u^2+v^2)^beta); end else for v=-(Column-1)/2 ![]() H_Estimate(u+(Row-1)/2+1,v+(Column-1)/2+1)=exp(-alpha*(u^2+v^2)^beta); end end end end h_estimate=real(ifft2(ifftshift(H_Estimate))); PSF = h_estimate; %复原 NUMIT=10; fr10 = deconvlucy(frame,PSF,NUMIT); fr15h = histeq(fr15); figure(); imshow(fr15h,[]); 此帖于 2019-01-15 12:42 被 逍遥宿元 编辑。 |
![]() |
![]() |