1200字范文,内容丰富有趣,写作的好帮手!
1200字范文 > Matlab图像复原(运动模糊 散焦模糊)

Matlab图像复原(运动模糊 散焦模糊)

时间:2020-12-17 02:22:50

相关推荐

Matlab图像复原(运动模糊 散焦模糊)

图像退化

图像退化的因素各种各样,但最主要的就是在得到图像,传送过程和保存的时候导致的,还有由于形成图像系统的不同、想要拍的物体和相机之间的相对运动,一些空气媒介等等都会让图像变得模糊不清楚、混入噪声、照片对比度也有所降低等种种现象。当下,通常见到的退化图像一般是运动的模糊类型、高斯噪声的模糊类型和离焦的模糊类型,有时还有多种模糊混合在一块的情况。而且因为噪声一般都会存在于各种情况当中,因此模糊的图像里面往往都存在噪声的这一影响因素。

图像退化的时候,有两个因素会影响这一过程,其一就是退化的模糊函数,也就是所说的点扩散函数。其二是噪声的这个因素,先是建立起一个数学表达式的模型,在这里面找到想要知道的一些先验知识,最后把图像进行还原,想要找到并确定先验知识就是一个难点同时也是重点,对图像噪声的确定和模糊函数的确立最主要。点扩散函数想要得到确定那就得先知道图像为什么退化,知道其原因和退化的过程,才能进一步了解其点扩散函数,进而对图像的模糊函数展开估计,知道这些以后就能够结合各种优秀算法对图像进行还原了,把图像退化的这个过程反向思考,逆转过来达到原图像的恢复。

图像模糊类型识别

点扩散函数会随着图像模糊种类的不同而变化,想要把模糊参数更精确的找出来,那么把不同的图像模糊类型进行分类处理,就可以根据不同的类型做出相应不同的处理办法,不一样的点扩散函数就直接求取不同的参数即可。比如,如果将运动模糊类型和散焦模糊类型的图像分开来看的话,运动的这类图像找到其运动模糊方向和运动模糊长度就可以了。其中对于模糊类型的判别,傅里叶变换是一个很重要的依据。

不同类型图像的傅里叶变换频域图像:

同样还有散焦图像:

模糊图像的还原

运动模糊

还原效果图:

还原前,观察其频域图像:

发现它是水平方向上的运动模糊(其相间条纹是竖直的),故采用’motion‘掩模进行复原,运动模糊的LEN可以自己实验得到:

clc;clear;close all;[img,map]=imread('2.bmp');img=ind2gray(img,map);figure,imshow(img),title('原图');psf=fspecial('motion',40,0);res1=deconvblind(img,psf);figure,imshow(res1),title('盲去卷积10次');res2=deconvblind(img,psf,20);figure,imshow(res2),title('盲去卷积20次');res3=deconvblind(img,psf,30);figure,imshow(res3),title('盲去卷积30次');res4=deconvblind(img,psf,50);figure,imshow(res3),title('盲去卷积50次');

散焦模糊

还原效果图:

在复原前,观察图像频域图像:

故能判断这是一个散焦图像(频域图像中间是圆),故采用’disk‘掩模进行复原,模糊半径可以自己实验得到。

clc;clear;close all;[img,map]=imread('3.bmp');img=ind2gray(img,map);figure,imshow(img),title('原图');psf=fspecial('disk',8);res1=deconvblind(img,psf);figure,imshow(res1),title('盲去卷积10次');res2=deconvblind(img,psf,20);figure,imshow(res2),title('盲去卷积20次');res3=deconvblind(img,psf,30);figure,imshow(res3),title('盲去卷积30次');res4=deconvblind(img,psf,50);figure,imshow(res3),title('盲去卷积50次');

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。