论文部分内容阅读
随着人们对图像分辨率要求的提高,现有成像设备的分辨率并不能满足他们的要求。在数字图像的获取过程中,也会因为一些人为的操作不足,并不能获得满意的成像。但是通过改善成相设备来获得高分辨率图像需要很高的成本,于是通过算法提高图像的分辨率的方法受到了广泛的关注。图像超分辨率(SuperResolution)技术就是以解析延拓和信息叠加管理论为基础,试图复原衍射极限之外的信息,使图像获得更多的细节和信息,达到提高分辨率的目的。基于FPGA(Field Programmable Gate Array,现场可编程门阵列)的系统,充分利用硬件上的特性可以满足高速图像处理的需要。加上使用SOPC(System On a Programmable Chip,可编程片上系统)技术可使设计更加灵活,并实现软硬件可在线编程,便于系统的更新。本文设计了一个基于FPGA的超分辨率图像系统,采用Altera公司的DE2开发板作为硬件平台,SDRAM(Synchronous Dynamic RAM,同步动态随机存取存储器)对图像存储,VGA(Video Graphic Array,显示绘图阵列)显示器对超分辨率重建后的图像进行显示。整个系统是采用软件和硬件协同设计方式实现的。硬件方面:首先根据系统的总体需求分析,设计和实现了各个模块,包括图像采集模块,SDRAM模块,图像显示模块和超分辨率图像模块。通过QuartusII软件,利用硬件设计语言搭建硬件系统。再使用SOPC Builder来构建Superresolution模块作为后续分析运算平台。算法方面:针对序列图像之间超分辨率重建算法展开,通过对图像超分辨率原理与理论的研究,在MATLAB上尝试了双线性插值、POCS(Projection Onto Convex Sets,凸集投影)、MAP(Maximum A Posterior,最大后验概率估计)算法。通过对算法进行分析比较之后,本文选择了基于MAP的序列图像重建算法,并在FPGA上实现了此算法。首先对图像进行灰度变换和降质变换,然后对低分辨率图像进行插值并引入了先验知识和条件概率构建目标函数,最后对图像进行MAP估计下的投影迭代运算来获取较单幅图像更多的信息,使图像的效果更好,细节更丰富。此算法是在Nios II IDE环境下采用C语言实现的。经过不断的调试和运行修改得到了满意的高分辨率图像。