数字图像实验:图像退化和还原
数字图像实验:图像退化和还原.

%1.使用函数fspecial创建退化滤波器PSF,然后调用imfilter对图像进行卷积运算,就可以 %得到一幅运动退化图像,观察并记录结果。
I=imread('C:\Documents and Settings\Administrator\桌面\16\fig0222b.jpg'); %读入图像LEN=31;THETA=11;PSF=fspecial('motion',LEN,THETA); %生成退化函数blurred=imfilter(I,PSF, 'circular', 'conv');figuresubplot(1,2,1),imshow(I);title('原图像');subplot(1,2,2),imshow(blurred);title('6.1 运动退化图像');%2.使用imnoise函数对图像添加随机噪声,观察并记录结果。
fnblurred =imnoise( blurred, 'gaussian',0,0.001); %产生随机噪声图像figure, imshow(fnblurred);title('6.2 加噪之后');%3.使用函数deconvwnr对无噪声的运动模糊图像进行复原,观察并记录结果。
同时采用不同的%LEN和THETA参数,进行实验,体会一下退化函数PSF的重要性,观察并记录结果。
LEN=31;THETA=11;PSF=fspecial('motion',LEN,THETA);wnr1=deconvwnr(blurred,PSF);wnr2=deconvwnr(blurred, fspecial('motion',2*LEN,THETA));wnr3=deconvwnr(blurred, fspecial('motion', LEN, 2*THETA));figureimshow(wnr1);title('6.3.1 无噪运动模糊图像复原1');figuresubplot(1,2,1),imshow(wnr2);title('6.3.2 无噪运动模糊图像复原2');subplot(1,2,2),imshow(wnr3);title('6.3.3 无噪运动模糊图像复原3');%4.使用函数deconvwnr对一幅有噪声的运动模糊图像进行维纳滤波复原,观察并记录结果。
图像复原实验

数字图像处理实验报告1 - 图像复原学生姓名:学号:实验时间:地点:指导教师:一、实验目的运用理论知识,在MA TLAB环境下对图像复原技术进行实验验证,学习算法实现的科学方法,增强对算法及其效果的感性认识。
(1)对图像进行复原处理。
调用MA TLAB中的图像复原函数,编写MA TLAB程序,实现对图像的复原。
(2)C++编程,利用双线性插值将照片放大。
二、实验内容要求:以下实验采用学生本人的照片作为处理对象。
(1)利用MA TLAB做图像复原实验。
实验方法和步骤如下:选择一幅完好的照片,进行退化处理,然后对退化后的图像进行复原,并对不同参数的复原结果进行比较。
(2)用VC++编写程序,采用邻近差值和双线性插值两种方法,将图像放大到原来的1.5倍, 并存储为res0.yuv 和res1.yuv。
三、实验结果(1)①先对图像进行模糊处理,用matlab中fspecial函数产生motion滤波器,然后对灰度图像进行滤波即可得到。
再用deconvwnr函数对图像进行维纳滤波可的如下结果(程序代码详见附录1.1):由此可见滤波效果并不是很明显,其中一个原因就是要取合适的len、theta参数是很困难的,所以导致模糊效果不是很好。
②先对图像进行模糊处理,用matlab中fspecial函数产生motion滤波器,然后对灰度图像进行滤波即可得到。
在对图像加高斯噪声,用imnoise函数。
再用deconvwnr函数对图像进行维纳滤波可见不同参数情况下的滤波情况如下(程序代码详见附录1.2):由此可见,平滑滤波不一定总是能带来很好的效果,如果图像过于模糊,平滑滤波就会导致图像过于平滑,就会使得图像高频分量也就是边缘轮廓十分的不明显。
③先对图像进行模糊处理,用matlab中fspecial函数产生motion滤波器,然后对灰度图像进行滤波即可得到。
在对图像加高斯噪声,用imnoise函数。
再用deconvblind函数对图像进行盲滤波可见不同参数情况下的滤波情况如下(程序代码详见附录1.3):(2)采用双线性插值法对所给图像实现长和宽分别1.5倍的放大。
图像退化图像复原

4记录和整理实验报告。
图像降质的数学模型图像复原处理的关键问题在于建立退化模型。
输入图像f(x, y)经过某个退化系统后输出的是一幅退化的图像。
为了讨论方便, 把噪声引起的退化即噪声对图像的影响一般作为加性噪声 考虑, 这也与许多实际应用情况一致,如图像数字化时的量化 噪声、 随机噪声等就可以作为加性噪声,即使不是加性噪声而 是乘性噪声, 也可以用对数方式将其转化为相加形式。
原始图像f(x, y) 经过一个退化算子或退化系统H(x, y) 的作用, 再和噪声n(x,y)进行叠加,形成退化后的图像g(x, y)。
图2-1表示退化过程的输入和输出的关系,其中H(x, y)概括了退化系统的物理过程,就是所要寻找的退化数学模型。
图2-1 图像的退化模型数字图像的图像恢复问题可看作是: 根据退化图像g(x , y)和退化算子H(x , y)的形式,沿着反向过程去求解原始图像f(x , y), 或者说是逆向地寻找原始图像的最佳近似估计。
图像退化的过程可以用数学表达式写成如下的形式: g(x, y)=H [f(x, y)]+n(x, y) (2-1) 在这里,n(x, y)是一种统计性质的信息。
在实际应用中, 往往假设噪声是白噪声,即它的频谱密度为常数,并且与图像不相关。
在图像复原处理中, 尽管非线性、 时变和空间变化的系统模型更具有普遍性和准确性,更与复杂的退化环境相接近,但它给实际处理工作带来了巨大的困难, 常常找不到解或者很难用计算机来处理。
因此,在图像复原处理中,往往用线性系统和空间不变系统模型来加以近似。
这种近似的优点使得线性系f (x , y )g (x , y )统中的许多理论可直接用于解决图像复原问题,同时又不失可用性。
2.2匀速直线运动模糊的退化模型在所有的运动模糊中,由匀速直线运动造成图象模糊的复原问题更具有一般性和普遍意义。
因为变速的、非直线运动在某些条件下可以被分解为分段匀速直线运动。
数字图像的退化与复原

数字图像的退化与复原1. 实验目的(1) 掌握数字图像的存取与显示方法。
(2) 理解数字图像运动模糊、高斯模糊以及其他噪声引起模糊(图像降质现象)的物理本质。
(3)掌握matlab的开发环境。
(4)掌握降质图像的逆滤波复原和维纳滤波复原方法。
2. 实验原理此实验是对数字图像处理课程的一个高级操作。
在深入理解与掌握数字图像退化的基础理论上,利用逆滤波与维纳滤波方法对数字图像进行复原。
(1) 图像的退化数字图像在获取过程中,由于光学系统的像差、光学成像衍射、成像系统的非线性畸变、成像过程的相对运动、环境随机噪声等原因,图像会产生一定程度的退化。
(2) 图像的复原图像复原是利用图像退化现象的某种先验知识,建立退化现象的数学模型,再根据模型进行反向的推演运算,以恢复原来的景物图像。
因而图像复原可以理解为图像降质过程的反向过程。
(3) 图像降质的数学模型图像复原处理的关键问题在于建立退化模型。
输入图像f(x,y)经过某个退化系统后输出的是一幅退化的图像。
为了讨论方便,把噪声引起的退化即噪声对图像的影响一般作为加性噪声考虑。
原始图像f(x,y)经过一个退化算子或退化系统H(x,y)的作用,再和噪声n(x,y)进行叠加,形成退化后的图像g(x,y)。
图1表示退化过程的输入和输出关系,其中H(x,y)概括了退化系统的物理过程,就是要寻找的退化数学模型。
图1 图像的退化模型数字图像的图像恢复问题可以看作是:根据退化图像g(x,y)和退化算子H(x,y)的形式,沿着反向过程去求解原始图像f(x,y)。
图像退化的过程可以用数学表达式写成如下形式:g(x,y)=H[f(x,y)]+n(x,y) (1)在这里,n(x,y)是一种统计性质的信息。
在实际应用中,往往假设噪声是白噪声,即它的频谱密度为常熟,并且与图像不相关。
在对退化系统进行了线性系统和空间不变系统的近似之后,连续函数的退化模型在空域中可以写成:g(x,y)=f(x,y)*h(x,y)+n(x,y) (2)在频域中可以写成:G(u,v)=F(u,v)H(u,v)+N(u,v) (3)其中,G(u,v)、F(u,v)、N(u,v)分别是退化图像g(x,y)、原图像f(x,y)、噪声信号n(x,y)的傅立叶变换;H(u,v)是系统的点冲击响应函数h(x,y)的傅立叶变换,称为系统在频率域上的传递函数。
数字图像处理_图像复原

图像复原1、实验目的1、 熟练掌握图像的几何操作原理,图像几何变换的程序设计技术,可以按要求完成对任意图像几何变换。
2、掌握图像复原的原理及常用图像复原方法。
2、实验原理图像恢复指将退化的图像尽量恢复到原来的状态。
1、几何校正图像与原景物图像相比,会产生比例失调,扭曲,我们把这类图像退化现象称之为几何畸变,消除几何畸变的复原过程,称几何校正。
设两幅图像坐标系统之间几何畸变关系能用解析式来描述若函数h1(x,y)和h2(x,y)已知,则可以从一个坐标系统的像素坐标算出在另一坐标系统的对应像素的坐标。
在未知情况下, 通常h1(x,y)和h2(x,y)可用多项式来近似。
几何校正分平移、旋转、缩放、镜像、转置。
(1)图像旋转使用B=imrotate(A,angle,method); angle 是旋转的角度(单位是“度”);method 是插补的方法,可以是nearest (最邻近插补),bilinear (双线性插补),bicubic (双立方插补)。
还可使用B= B=imrotate(A,angle,method,’crop ’); crop 表示剪切。
(2)图像剪切使用:x2=imcrop(x,map),对索引图像进行交互式剪切;I2=imcrop(I), 对灰度图像进行交互式剪切;RGB2=imcrop(rgb),对彩色图像进行交互式剪切;x2=imcrop(x,map ,RECT),对索引图像进行非交互式剪切;I2=imcrop(I ,RECT), 对灰度图像进行非交互式剪切;rgb2=imcrop(rgb ,RECT),1(,)x h x y '=2(,)y h x y '=1100N N ij ij i j x a x y --=='=∑∑1100N N i j ij i j y b x y --=='=∑∑对彩色图像进行非交互式剪切;RECT是四元素向量[xmin ymin width height] 例如:rgb2=imcrop(rgb,[100 100 80 10]),(3)图像缩放使用B=imresize(A,m,method) 返回为A的m倍]大小的图像;b=imresize(A,[mrows ncols],method),返回为mrows× ncols]大小的图像。
数字图像处理之图像复原

实验五、图象复原一、实验目的1.了解图象退化的几种原因;2.掌握对相应退化原因的复原方法。
二、实验内容1.使用函数fspecial( )和imfilter( )模拟产生退化图象;2.对于不同的噪声引起图像的退化,采用不同的滤波方法复原图象。
3.学会使用维纳滤波器deconvwnr()函数对图像进行复原的方法。
三、实验步骤1.加性噪声退化图象用imnoise( )函数给图象加噪声,如增加高斯白噪声。
使用平滑滤波器对其进行滤波,可达到复原图像的效果x=imread(‘cameraman.tif’);x=imnoise(x,’gaussian’)imshow(x)h=fspecial(‘average’)y=imfilter(x,h);figureimshow(y)2、周期噪声退化图像对于周期噪声可以通过频域滤波来减弱或消除,实现复原图像。
实验五文件夹中有被正弦周期噪声污染退化的图像'pout_g_64.bmp',使用理想带阻滤波器对其频域滤波,复原图像。
(1) pout_g_64.bmp图像及其傅立叶谱见下图。
(2) 构造理想带阻滤波器close allx=imread('pout_g_64.bmp');xm=size(x,1); xn=size(x,2);M2=floor(xm/2); N2=floor(xn/2);u=-M2:1:M2-1; v=-N2:1:N2-1;[U,V]=meshgrid(u,v);D=sqrt(U.^2+V.^2);D0=64;W=4;H=double(D<(D0-W/2)|D>(D0+W/2));figureMesh(U,V,H) ;title('D0=64,W=4,理想带阻滤波器')思考:使用上述理想带阻滤波器对’pout_g_64.bmp’图像进行频域滤波,得到复原图像,结果类似下图。
close allx=imread('pout_g_64.bmp');xm=size(x,1); xn=size(x,2);M2=floor(xm/2); N2=floor(xn/2);u=-M2:1:M2-1; v=-N2:1:N2-1;[U,V]=meshgrid(u,v);D=sqrt(U.^2+V.^2);D0=64;W=4;H=double(D<(D0-W/2)|D>(D0+W/2));F=fft2(x);f=fftshiFt(F);G=f.*H;subplot(121)imshow(real(G));title('频域滤波')GG=fftshift(G);I=ifft2(GG);subplot(122)imshow(uint8(I))title('复原后图像')3、运动模糊退化图像给图像添加运动模糊,使用deconvwnr()维纳滤波器进行图像复原。
数字图像处理实验三:图像的复原

南京工程学院通信工程学院实验报告课程名称数字图像处理C实验项目名称实验三图像的复原实验班级算通111 学生姓名夏婷学号 208110408 实验时间 2014年5月5日实验地点信息楼C322实验成绩评定指导教师签名年月日实验三、图像的恢复一、实验类型:验证性实验二、实验目的1. 掌握退化模型的建立方法。
2. 掌握图像恢复的基本原理。
三、实验设备:安装有MATLAB 软件的计算机四、实验原理一幅退化的图像可以近似地用方程g=Hf+n 表示,其中g 为图像,H为变形算子,又称为点扩散函数(PSF ),f 为原始的真实图像,n 为附加噪声,它在图像捕获过程中产生并且使图像质量变坏。
其中,PSF 是一个很重要的因素,它的值直接影响到恢复后图像的质量。
I=imread(‘peppers.png’);I=I(60+[1:256],222+[1:256],:);figure;imshow(I);LEN=31;THETA=11;PSF=fspecial(‘motion’,LEN,THETA);Blurred=imfilter(I,PSF,’circular’,’conv’);figure;imshow(Blurred);MATLAB 工具箱中有4 个图像恢复函数,如表3-1 所示。
这4 个函数都以一个PSF 和模糊图像作为主要变量。
deconvwnr 函数使用维纳滤波对图像恢复,求取最小二乘解,deconvreg 函数实现约束去卷积,求取有约束的最小二乘解,可以设置对输出图像的约束。
deconvlucy 函数实现了一个加速衰减的Lucy-Richardson 算法。
该函数采用优化技术和泊松统计量进行多次迭代。
使用该函数,不需要提供有关模糊图像中附加噪声的信息。
deconvblind 函数使用的是盲去卷积算法,它在不知道PSF 的情况下进行恢复。
调用deconvblind 函数时,将PSF 的初值作为一个变量进行传递。
数字图像处理实验九、图像复原

fs(x,y):
FFt
Fs(u,v)
Gs(u,v)
Hs(u,v)=
Fs(u,v)
2.数学建模法 大气湍流的退化函数:
H (u, v) e
k ( n2 v 2 )5 / 6
匀速运动的退化函数:
T H ( u, v) sin[ ( ua vb)]e j ( ua vb ) ( ua vb)
三、退化函数引起图像退化的复原方法 1.逆滤波法: 无噪声时: F(u,v)= G(u,v) H(u,v) N(u,v) H(u,v)
有噪声时: F(u,v)= F(u,v)+ 问
题:在H(u,v)趋于0处,噪声会被急剧放大。
解决办法:增加一个低通滤波器。
1 | H (u, v) |2 ]G(u, v) 2.维纳滤波法: F (u, v) [ 2 H (u, v) | H (u, v) | k
调入原始图像 fxy
计算退化图像的频谱 Guv
K=0.01;%特殊常数,一般要用交互的方式确定 Fuvyp=(Huv.*conj(Huv)).*Guv./(Huv.*(Huv.*conj(Huv)+K)); 计算原始图像频谱 计算噪声的频谱 Nuv Rtuxy=abs(ifft2(Fuvyp)); Fuv=fft2(fxy) subplot(2,2,2),imshow(Rtuxy,[]),title('K=0.01时维纳滤波的结果') 还
生 成 退 化 图 像
原 退 Fuvyp=(Huv.*conj(Huv)).*Guv./(Huv.*(Huv.*conj(Huv)+K)); 化 Rtuxy=abs(ifft2(Fuvyp)); 计算 复原图像的频谱Fuvyp 图 生产退化图像频谱 subplot(2,2,3),imshow(Rtuxy,[]),title('K=0.005时维纳滤波的结果') Guv=Huv· Fuv 像
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
%1.使用函数fspecial创建退化滤波器PSF,然后调用imfilter对图像进行卷积运算,就可以%得到一幅运动退化图像,观察并记录结果。
I=imread('C:\Documents and Settings\Administrator\桌面\16学时实验\实验六\fig0222b.jpg'); %读入图像
LEN=31;
THETA=11;
PSF=fspecial('motion',LEN,THETA); %生成退化函数
blurred=imfilter(I,PSF, 'circular', 'conv');
figure
subplot(1,2,1),imshow(I);title('原图像');
subplot(1,2,2),imshow(blurred);title('6.1 运动退化图像');
%2.使用imnoise函数对图像添加随机噪声,观察并记录结果。
fnblurred =imnoise( blurred, 'gaussian',0,0.001); %产生随机噪声图像
figure, imshow(fnblurred);title('6.2 加噪之后');
%3.使用函数deconvwnr对无噪声的运动模糊图像进行复原,观察并记录结果。
同时采用不同的
%LEN和THETA参数,进行实验,体会一下退化函数PSF的重要性,观察并记录结果。
LEN=31;
THETA=11;
PSF=fspecial('motion',LEN,THETA);
wnr1=deconvwnr(blurred,PSF);
wnr2=deconvwnr(blurred, fspecial('motion',2*LEN,THETA));
wnr3=deconvwnr(blurred, fspecial('motion', LEN, 2*THETA));
figure
imshow(wnr1);title('6.3.1 无噪运动模糊图像复原1');
figure
subplot(1,2,1),imshow(wnr2);title('6.3.2 无噪运动模糊图像复原2');
subplot(1,2,2),imshow(wnr3);title('6.3.3 无噪运动模糊图像复原3');
%4.使用函数deconvwnr对一幅有噪声的运动模糊图像进行维纳滤波复原,观察并记录结果。
wnr4=deconvwnr(fnblurred,PSF);
figure,imshow(wnr4);title('6.4 维纳滤波复原');
%5.为了使维纳滤波复原的效果变好,必须使用deconvwnr函数的可选参数NSR、NCORR 和ICORR,
%通过改变参数获得不同的复原效果,观察并记录结果。
%使用deconvblind函数进行盲目去卷积,采用不同的退化函数,观察并记录结果。
PSF=fspecial('gaussian',7,10);
blurred01=imfilter(I,PSF, 'circular', 'conv');%图像退化
UNDERPSF=ones(size(PSF)-4);
[J1 P1]= deconvblind(blurred01, UNDERPSF); % 使用较小的PSF进行逆滤波OVERPSF=padarray(UNDERPSF,[4 4], 'replicate', 'both');
[J2 P2]= deconvblind(blurred01, OVERPSF); % 使用较大的PSF进行逆滤波INITPSF=padarray(UNDERPSF,[2 2], 'replicate', 'both');
[J3 P3]= deconvblind(blurred01, INITPSF); % 使用真实的PSF进行逆滤波
figure, imshow(blurred01);title('6.5.1 图像退化');
figure, imshow(J1); title('6.5.2 盲目卷积(使用较小的PSF进行逆滤波)');
figure, imshow(J2); title('6.5.3 盲目卷积(使用较大的PSF进行逆滤波)');
figure, imshow(J3);title('6.5.4 盲目卷积(使用真实的PSF进行逆滤波)');
原图像 6.1 运动退化图像
6.2 加噪之后
6.3.1 无噪运动模糊图像复原1
6.3.2 无噪运动模糊图像复原2 6.3.3 无噪运动模糊图像复原3
6.4 维纳滤波复原
6.5.1 图像退化
6.5.2 盲目卷积(使用较小的PSF进行逆滤波)
6.5.3 盲目卷积(使用较大的PSF进行逆滤波)
6.5.4 盲目卷积(使用真实的PSF进行逆滤波)。