中南林业科技大学
课程设计说明书
课 程: 数字图像处理课程设计 设计题目: 图 像 复 原 学 院: 08级 理 学 院 班 级: 信息与计算科学一班 姓 名: 丁 洁 (20083687)
数据图像处理课程设计--图像复原
指导教师: 龚 志 伟
2011--10
图像复原
中文摘要:
在图像成像、复制、扫描、传输、显示等过程中,不可避免地要造成图像的
降质,如图像模糊、噪声干扰等。而在许多应用领域中,又需要清晰的、高质量的图像,因此,图像复原(如去噪、去模糊等)具有重要的意义。图像复原的目的是对降质图像进行处理,使其恢复成原始图像,它是图像处理、模式识别、机器视觉的基础,因而受到广泛的研究,并在天文学、遥感成像、医疗图像等领域获得广泛的应用。图像复原的传统方法主要是进行图像滤波,由于图像的大部分信息存在于边缘部分,因此要求图像滤波既能去除图像的模糊和噪声,同时又能保持图像的细节。由于图像细节和噪声在频带上混叠,导致图像的平滑和边缘细节的保持成为一对矛盾,传统的滤波方法难以处理这类问题。近年来发展起来的偏微分方程图像处理技术、神经网络技术、小波分析技术以及图割技术,为解决图像复原中的这一矛盾提供了新的方法。
关键词:图像复原 ,图像退化 ,噪声干扰,图像增强,图像滤波
指导教师:龚志伟老师 学生:丁洁
2
数据图像处理课程设计--图像复原
英文摘要
【Abstract】 The presence of image degradation, such as noise and blurring, is unavoidable. It may be introduced by the image formation process, image recording, image scanning, image transfer, image showing, etc. However, in many applications, the clear images are needed. The image restoration technique, restoring the original image from the degraded image, is coming to resolve this problem, which is the fundamental problem of image processing, pattern recognition, and computer vision. So, image restoration is widely used in astronomy, remote sensing, medical image, etc.The traditional image restoration methods rest on the image filter. Since image edges contain lots of image information, and human being is sensitive to these high frequency parts, image filter technique need deblurring image and suppressing the noise, while preserving image edges. However, both image edges and the noise are high frequency part of the image. So, image smoothing is in contradiction to with preserving image edges during image restoration. The traditional filter methods can not deal with this. In recent years, some image processing techniques, such as variational PDEs (Partial Differential Equations) methods, neural network, wavelet analysis, and graph cut techique, are emerging to solve this contradiction.This dissertation is mainly focus on the image deblurring and de-noising problem, and total variation restoration model. In this dissertation, we research into the image restoration models and algorithms based on neural network; analyze the relationship between wavelet image de-noising method and nonlinear filter de-noising method; study the computation methods of total variation de-noising model using graph cut technique.
指导教师:龚志伟老师 学生:丁洁
3
数据图像处理课程设计--图像复原
目录
一、 设计目的、任务与要求 ....................................................................... 5
1.1、 设计目的 ........................................................................ 5 1.2、 任务与要求 ..................................................................... 5 1.3 课程设计方案制定 .....................................................................6 1.4、课程设计要求 .....................................................................6
二、设计的主要内容及基本原理................................................................. 7
2.1 图像复原的定义................................................................ 7
2.2 基本原理.............................................................. 7
2.3.功能模块划分及运行环境 .............................................................. 7 2.4 .图象恢复与图象增强的异同.............................................................. 7 2.5 ..图象退化的原因 ............................................................. 7
三、图像编码程序总体方案设计............................................................ 7
3.1、图像编码程序流程图......................................................... 7
3.2 源程序 ..................................................................................... 8 3.3 程序运行结果...................................................................... 12
四、测试和调试 ..................................................................... ................13
4.1 对多副图像调试结果 ................................................................... 13 4.2调示过程中发现的问题 ................................................................. 14
五、 结论与心得 ................................................................................. 14 六、 参考文献 ...................................................................... ........................14
指导教师:龚志伟老师 学生:丁洁
4
数据图像处理课程设计--图像复原
引言
图像在传输、采集或存贮的过程中,经常引入噪音和模糊量,因而图像复原是图像处理中的一个基本问题。在一定意义上讲,图像复原模型是一个泛函求极值问题,因此图像复原模型可以看成一个变分问题。令表示原始图像,为退化图像,为线性算子表示模糊,为随机高斯白噪音。
图像复原就是在研究图象退化原因的基础上,以退化图像为依据,根据一定的先验知识设计一种算法,从而估计出理想场景的操作。一般得到一幅数字化图像后都会先使用图像复原技术进项处理,然后再做增强处理。由于不同应用领域的图像有不同的退化原因,所以对同一幅退化图像,不同应用领域采用不同的复原方法。图像复原可以看成是图像复原的逆过程,对退化复原的一般可采用两种方法:一种方法适用于图像缺乏先验知识的情况下,此时可对退化过程(噪声和模糊)建立模型,进行描述。并寻找一种去除和消弱其影响的过程,从而改善图像质量。另一方面若对于原始图像有足够的先验知识,则对原始图像简历一个数学模型,并根据它对退化图像进行拟合,将其转化为一个检验问题。但大多数情况下退化过程是不可知的,由于图像模糊的同时,噪声和干扰也会同时存在,这也为复原过程带来困难和不确定性。本文针对当前主流的图像复原算法进行分析,并归纳和总结,并进行Matlab 的仿真实验,为人们的不同应用场合及不同的图像数据条件下选择不同的复原算法提供了一定依据。
一、课程设计的目的与要求
【课程设计选题】图像复原课程设计 1.1 设计目的
1) 提高分析问题、解决问题的能力,进一步巩固数字图像处理系统中的基本原理与方法。
指导教师:龚志伟老师 学生:丁洁
5
数据图像处理课程设计--图像复原
2) 熟悉掌握一门计算机语言,可以进行数字图像的应用处理的开发设计。 1.2 任务与要求
1)自选黑白图像,并参考P.96 获得失真图像。
2)对失真图像进行FFT,并从频谱上研究如何获得失真参数。 3)用获得的参数对失真图像加以恢复。
4)编制程序并调试。(最好能通过程序自动从频谱中获取失真参数)。 1.3 课程设计方案制定
1 程序运行环境是Windows平台。
2 系统具体构架 频域上图像退化与复原过程的方框图如下:
G(u,v)
3 开发工具选用matlab、VC++、 VB、 C#等。建议选用matlab作为编程开发工具,可以达到事半功倍的效果、并可降低编程难度。 1.4、课程设计要求
1、理解各种图像复原编码方法确切意义。 2、独立进行方案的制定,系统结构设计要合理。
3、在程序开发时,则必须清楚主要实现函数的目的和作用,需要在程序书写时说明做适当的注释。如果使用matlab来进行开发,要理解每个函数的具体意义和适用范围,在写课设报告时,必须要将主要函数的功能和参数做详细的说明。
4、通过程序运行来检测该系统的稳定性和正确性。
F(u,v) H(u,v) N(u,v) 二、设计的主要内容及基本原理
2.1 图像复原的定义
图像复原也称图象恢复,是图象处理中的一大类技术。所谓图像复原,是指去除或减轻在获取数字图像过程中发 生的图像质量下降(退化)这些退化包括由光学系统、运动等等造成图像的模糊,以及源自电路和光度学因素的噪声。 图
指导教师:龚志伟老师 学生:丁洁
6
数据图像处理课程设计--图像复原
像复原的目标是对退化的图像进行处理,使它趋向于复原成没有退化的理想图像。成像过程的每一个环节(透镜, 感光片,数字化等等)都会引起退化。在进行图像复原时,既可以用连续数学,也可以用离散数学进行处理。其次, 处理既可在空间域,也可在频域进行。 2.2 基本原理
图像复原是试图利用退化过程的先验知识使已退化的图像恢复本来面目, 即根据退化的原因,分析引起退化的环境因素,建立相应的数学模型,并沿着使图像降质的逆过程恢复图像.目的在于消除或减轻在图像获取以及传输过程中造成的图像品质下降,恢复图像的本来面目.因此,复原技术就是把退化模型化,并采用相反的过程进行处理,以便复原出原图像.
退化过程中可以被模型化为一个退化函数和一个加噪声项,处理一副输入图像 f(x,y)产生一副退化图像 g(x,y),给定 g(x,y)和关于退化图像 H 的一些知识以及外加噪声项η (x,y),图像恢复的目的是获得关于原始图像的近似估计。 若系统H 是线性的、位置不变性的过程,则空间域的退化图像: g(x,y)= h(x,y)* f(x,y)+ η (x,y) 其频域下的描述为: G(x,y)=H(x,y)F(x,y)+ N(x,y)
综上来说,图象恢复力求保持图象的本来面目,以保真原则为前提,从而找出图象降质的原因,描述其物理过程,提出数学模型。恢复的过程是沿着质量降质的逆过程来重现原始图象的。 2.3 功能模块划分及运行环境
本次实验是在MATLAB6.5 的环境下实验运行的,可将程序分成获得失真图像模块、对失真图像进行FFT、对退化图像频谱进行分析建立退化函数、计算复原图像的傅里叶变换、对计算得到的傅里叶变换进行傅里叶逆变换这几部分。 2.4 图象恢复与图象增强的异同
相同点:改进输入图像的视觉质量 。 不同点:图象增强目的是取得较好的视觉结果(不考虑退化原因); 图象恢复根据相应的退化模型和知识重建或恢 复原始的图像(考虑退化原因)。 2.5 图象退化的原因
图象退化指由场景得到的图像没能完全地反映场景的真实内容,产生了 失真等
指导教师:龚志伟老师 学生:丁洁 7
数据图像处理课程设计--图像复原
问题。其原因是多方面的。如: 透镜象差/色差 聚焦不准(失焦,限制了图像锐度) 模糊(限制频谱宽度) 噪声(是一个统计过程) 抖动(机械、电子)
三、图像编码程序总体方案设计
3.1、图像编码程序流程图 图像行程编码主流程图如下图所示
开始 显示原始图像
设置图像的相关显示数据 显示模糊图像 读入失真图像 设置频谱值并显示失真图像频谱 读入失真图像并显示 显示恢复失真图像 结束
各功能模块的主要实现程序
指导教师:龚志伟老师 学生:丁洁 8
数据图像处理课程设计--图像复原
3.2 源程序 Main: %获得失真图像 C=imread('pout.tif') ubplot(1,2,1); imshow(C); LEN1=30; THETA1=45;
%显示原始图像
%设置运动移位为30 个像素 %设置运动角度为45 度
PSF=fspecial('motion',LEN1,THETA1); %建立二维仿真线性运动滤波器PSF MF=imfilter(C,PSF,'circular','conv'); %用PSF 产生模糊图像 H(u,v) N(u,v) F(u,v) (u,v) subplot(1,2,2);imshow(MF); imwrite(MF,'pout-MF.tif'); %对失真图进行FFT I=imread('pout-MF.tif'); fftI=fft2(I);
%读入失真图像
%显示模糊图像 %保存模糊图像备用
%二维离散傅立叶变换
%直流分量移到频谱中心
sfftI=fftshift(fftI); RR=real(sfftI); II=imag(sfftI);
%取傅立叶变换的实部 %取傅立叶变换的虚部
%计算频谱幅值
%归一化
A=sqrt(RR.^2+II.^2);
A=(A-min(min(A)))/(max(max(A))-min(min(A)))*225; figure(2); imshow(A); %设置参数 ifbl=I;
%显示失真图像的频谱
%把失真图像赋给函数EstAngle 的参数
%转换成双精度 T
ifbl=double(ifbl);
HETA = EstAngle(ifbl); %调用定义函数EstAngle 寻找失真角度
%调用定义函数EstLen 寻找失真长度
LEN = EstLen(ifbl, THETA); %失真图像恢复
[MF,map]=imread('pout-MF.tif'); %读入失真图像
指导教师:龚志伟老师 学生:丁洁 9
数据图像处理课程设计--图像复原
figure(3); imshow(MF);
%显示失真图像
INITPSF=fspecial('motion',LEN,THETA); %建立复原点扩散函数 [J,P]=deconvblind(MF,INITPSF,30); %去卷积 figure(4);imshow(J);
%显示恢复图像
定义寻找失真参数的函数: 定义寻找失真长度函数:
function THETA = EstAngle(ifbl) ifbl = medfilt2(abs(ifbl)); lgifbl = log(1+abs(ifbl)); BW = edge(lgifbl); H = hough(BW); for i=1:90
%定义函数EstAngle 返回失真角度 %对二维矩阵均匀滤波 %采用高斯方法把图像边缘化 %把模糊图像变边缘化
%运用Hough 变换检测边缘
%利用循环找到边缘点的最大和最小梯值
for j=1:size(H, 1)
temp = H(j, i); H(j, i) = H(j, 90+i); H(j, 90+i) = temp; end end
maxi = max(max(H)); mini = min(min(H)); sizeofH = size(H);
%找到图H 矩阵的行和列数 %将最大最小梯度角进行平均 %将图像H 进行二值化
thresh=(maxi - mini)/2; for i=1:sizeofH(2),
for j=1:sizeofH(1),
if H(j, i)>=thresh
H(j, i) = 1; else
H(j, i) = 0;
指导教师:龚志伟老师 学生:丁洁 10
数据图像处理课程设计--图像复原
end end end
sizeofH = size(H); for i=1:sizeofH(2),
ColsofH(i) = 0; for j=1:sizeofH(1),
ColsofH(i) = ColsofH(i) + H(j, i); end end
[maximum, THETA] = max(ColsofH); 定义寻找失真角度函数:
function LEN = EstLen(ifbl, THETA) ifbl = medfilt2(abs(ifbl)); fin = fft2(ifbl);
%寻找失真参数长度 %对二维矩阵均匀滤波 %找失真角度
%找到H 阵大小 %将H 所有列求和
%对失真图像进行fft
%进行对数变换
lgfin = abs(log(1 + abs(fin))); cin = ifft2(lgfin);
%进行傅里叶反变换
%将得到图以-THETA 角进行旋
cinrot = imrotate(cin, -THETA); 转
for i=1:size(cinrot, 2)
avg(i) = 0;
for j=1:size(cinrot, 1)
%求所有列的平均值
avg(i) = avg(i) + cinrot(j, i); end
avg(i) = avg(i)/size(cinrot, 1); end
avgr = real(avg); index = 0; 数长度
%取所有列均值的实部
%运用avg列的第一个负值计算失真参
指导教师:龚志伟老师 学生:丁洁 11
数据图像处理课程设计--图像复原
for i = 1:round(size(avg,2)),
if real(avg(i))<0,
index = i; break; end end
if index~=0,
LEN = index; else
%If Zero Crossing not found then find the lowest peak %Calculating the blur length using Lowest Peak index = 1; 找失真长度
startval = avg(index);
for i = 1 : round(size(avg, 2)/2),
if startval>avg(i),
startval = avg(i); index = i; end end
LEN = index; end
3.3 程序运行结果
%如果没有找到不为0 的 index,则 用avg 的最小值寻
%如果index 不为0 则其即为失真长度
指导教师:龚志伟老师 学生:丁洁 12
数据图像处理课程设计--图像复原
失真后频谱
复原图像 测试和调试 、1对多副图像调试结果
指导教师:龚志伟老师
失真后图像
学生:丁洁
四、
4 13
数据图像处理课程设计--图像复原
失真图像 恢复图像
失真图像 恢复图像 4.2调示过程中发现的问题
1) 调试过程中出现了ifbl 的未定义的错误,经检查是在引用函数是未将ifbl 这个参数赋值。
2) 在调试过程中由于改变了文件路径,导致不能正确出图。 3) 刚开始函数不正确不能较好恢复出失真图像。
4) 在引用库中图片时,图片格式弄错导致不能输出图像。
五、 结论与心得
1、问题的解决:在调试过程中由于改变文件路径导致的错误,只要正确选对其路径即可更正这种错误。 函数不正确导致不能较好的复原图像,则只有通过修正函数以得到复原图像。在引用库中图片时,由于输入图片格式的才错误,通过修改为其原格式来正确调用。
2、心得体会:这次课设让我深刻体会了图像处理这门课程,使我掌握了基本图像处理方 法,使我对图像处理的基本原理与方法有了更深一层认识。图像复原所用到的一些图像处理的基本方法在这次课设中得到了锻炼,使我对图像处理这
指导教师:龚志伟老师 学生:丁洁 14
数据图像处理课程设计--图像复原
门课程及其应用技术产生了浓厚的兴趣。
六、参考文献
[1]阮秋琦编著.—2 版。北京:电子工业出版社,2007.2.
[2] 姚敏. 数字图像处理 机械工业出版社.2010
[3] 陈怀深 吴大正等著 MATLAB 及在电子信息课中的应用 电子工业出版社.2009
[4] 《运动失真或噪声干扰的图像恢复/修复》 http://search.codesoso.com [5] 孙家广等主编.计算机图形学.第 3 版.北京:清华大学出版社,1998.9.
指导教师:龚志伟老师 学生:丁洁 15
数据图像处理课程设计--图像复原
指导老师评语: 签字: 日期: 年 月 日 指导教师:龚志伟老师 学生:丁洁 16
数据图像处理课程设计--图像复原
成 绩
指导教师:龚志伟老师 学生:丁洁 17
因篇幅问题不能全部显示,请点此查看更多更全内容