资源描述
摘要图像放大是一种应用广泛的数字图像处理技术,随着应用水平的不断提高,对在嵌入式系统中实现图像的清晰放大的需求也越来越高。如在安保领域的高分辨率数字图像的显示处理过程中,由于现有的显示效果不够理想,就需要在对图像进行清晰的放大。采用DSP平台是一种实现方式,它能充分发挥DSP平台强大的并行计算能力。 关键词: DSP CCS软件 数字图像处理 目 录1.数字图像处理背景与介绍11.1图像处理的研究背景1 1.2图像处理国内外研究现状22.课程设计的目的与原理42.1设计目的42.2设计任务42.2设计原理53 软件程序63.1主程序63.2初始化和读取图像程序124 运行结果分析135.结 论14参考文献15基于DSP的数字图像处理(放大)1.数字图像处理背景与介绍1.1图像处理的研究背景数字图像处理又称为计算机图像处理在国外最早出现于20世纪50年代,当时的电子计算机已经发展到一定水平,人们开始利用计算机来处理图形和图像信息。数字图像处理作为一门学科大约形成于20世纪60年代初期。早期的图像处理的目的是改善图像的质量,它以人为对象,以改善人的视觉效果为目的。图像处理中,输入的是质量低的图像,输出的是改善质量后的图像,常用的图像处理方法有图像增强、复原、编码、压缩等。首次获得实际成功应用的是美国喷气推进实验室(JPL)。他们对航天探测器徘徊者7号在1964年发回的几千张月球照片使用了图像处理技术,如几何校正、灰度变换、去除噪声等方法进行处理,并考虑了太阳位置和月球环境的影响,由计算机成功地绘制出月球表面地图,获得了巨大的成功。随后又对探测飞船发回的近十万张照片进行更为复杂的图像处理,以致获得了月球的地形图、彩色图及全景镶嵌图,获得了非凡的成果,为人类登月创举奠定了坚实的基础,也推动了数字图像处理这门学科的诞生。在以后的宇航空间技术,如对火星、土星等星球的探测研究中,数字图像处理都发挥了巨大的作用。数字图像处理取得的另一个巨大成就是在医学上获得的成果。1972年英国EMI公司工程师Housfield发明了用于头颅诊断的X射线计算机断层摄影装置,也就是我们通常所说的CT(Computer Tomograph)。CT的基本方法是根据人的头部截面的投影,经计算机处理来重建截面图像,称为图像重建。1975年EMI公司又成功研制出全身用的CT装置,获得了人体各个部位鲜明清晰的断层图像。1979年,这项无损伤诊断技术获得了诺贝尔奖,说明它对人类作出了划时代的贡献。与此同时,图像处理技术在许多应用领域受到广泛重视并取得了重大的开拓性成就,属于这些领域的有航空航天、生物医学过程、工业检测、机器人视觉、公安司法、军事制导、文化艺术等,使图像处理成为一门引人注目、前景远大的新型学科。随着图像处理技术的深入发展,从70年代中期开始,随着计算机技术和人工智能、思维科学研究的迅速发展,数字图像处理向更高、更深层次发展。人们已开始研究如何用计算机系统解释图像,实现类似人类视觉系统理解外部世界,这被称为图像理解或计算机视觉。很多国家,特别是发达国家投入更多的人力、物力到这项研究,取得了不少重要的研究成果。其中代表性的成果是70年代末MIT的Marr提出的视觉计算理论,这个理论成为计算机视觉领域其后十多年的主导思想。图像理解虽然在理论方法研究上已取得不小的进展,但它本身是一个比较难的研究领域,存在不少困难,因人类本身对自己的视觉过程还了解甚少,因此计算机视觉是一个有待人们进一步探索的新领域。1.2图像处理国内外研究现状所谓图像处理,就是对图像信息进行加工以满足人的视觉心理或应用需求的行为。图像处理的手段有光学和数字两种方法。前者从简单的光学滤波到现在的激光全息技术,理论已经日趋完善;但是光学处理图像精度不够高,稳定性差。数字图像处理一般都用计算机处理或实施的硬件处理,因此也称之为计算机图像处理,其优点是处理精度高,处理内容丰富,可进行复杂的非线性处理,有灵活的变通能力。首次获得实际成功应用的是美国喷气推进实验室,他们对航天探测器徘徊者7号在1 9 6 4年发回的几千张月球照片使用了数字图像处理技术,为人类登月创举奠定了坚实的基础, 也推动了数字图像处理这门学科的诞生。与此同时, 图像处理技术在许多应用领域受到广泛重视并取得了重大的开拓性成就, 属于这些领域的有航空航天、生物医学工程、工业检测、机器人视觉、公安司法、军事制导、文化艺术等, 使图像处理成为一门引人注目、前景远大的新型学科。从7 0年代中期开始, 随着计算机技术和人工智能、思维科学研究的迅速发展, 数字图像处理向更高、更深层次发展。人们已开始研究如何用计算机系统解释图像,实现类似人类视觉系统理解外部世界, 这被称为图像理解或计算机视觉。随着计算机及通信技术的发展,图像和视频的应用愈加广泛。大部分图像数据在实际应用前都需要进行有针对性的处理,如根据图像数据的特点和应用领域对图像进行增强、锐化、除噪、除雾和识别等。此外,为了有效实时的传输信息,还必须对图像进行压缩,图像粗粒技术尤其是实时图像处理现在已经成为一门热门的研究课题。图像是人类获取和交换信息的主要来源,因此,图像处理的应用领域必然涉及到人类生活和工作的方方面面。随着科学技术的发展,数字图像处理技术的应用领域也将随之不断扩大。数字图像处理技术未来应用领域主要有以下六个方面:(1)航天航空技术方面 数字图像处理技术在航天航空技术方面的应用,除JPL对月球、火星照片的处理之外,另一方面是在飞机遥感和卫星遥感技术中。图像在空中先处理(数字化编码)成数字信号存人磁带中,在卫星经过地面站上空时,再高速传送下来,然后由处理中心分析判读。这些图像无论是在成像、存储、传输过程中,还是在判读分析中,都必须采用很多数字图像处理方法。现在世界各国都在利用各类卫星所获取的图像进行资源调查、灾害检测、资源勘察、农业规划、城市规划。在气象预报和对太空其它星球研究方面,数字图像处理技术也发挥了相当大的作用。(2)生物医学工程方面数字图像处理技术在生物医学工程方面的应用十分广泛,且很有成效。除了CT技术之外,还有一类是对医用显微技术的处理分析,如染色体分析、癌细胞识别等。此外,在X光肺部图像增晰、超声波图像处理、心电图分析、立体定向放射治疗等医学诊断方面都广泛地应用图像处理技术。(3)通信工程方面当面通信的主要发展方向是声音、文字、图像和数据结合的流媒体通信。其中以图像通信最为复杂和困难,因图像的数据量十分巨大,如传送彩色电视信号的速率达100M/s以上。要将这样高速率的数据实时传送出去,必须采用编码技术来压缩信息的比特量。在一定意义上讲,编码压缩是这些技术成败的关键。(4)工业工程方面在工业工程领域中图像处理技术有着广泛的应用,它大大提高了工作效率,如自动装配线中质量检测,流体力学图片的阻力和升力分析,邮政信件的自动分拣,在一些恶性环境内识别工件及物体的形状和排列状态,先进设计和制造技术中采用工业视觉等等。其中值得一提的是研制具备视觉、听觉和触觉功能的智能机器人,将会给工农业生产带来新的面貌,目前已在工业生产中的喷漆、焊接、装配中得到有效的利用。(5)军事公安方面在军事方面图像处理和识别主要用于导弹的精确制导,各种侦察照片的判读,具有图像传输、存储和显示的军事自动化指挥系统和模拟训练系统等;公安方面主要用于指纹识别、人脸鉴别、不完整图片的复原以及交通监控、事故分析等。目前已投入运行的高速公路不停车自动收费系统中的车辆和车牌的自动识别就是图像处理技术成功应用的例子。(6)文化艺术方面的应用 目前这类应用有电视画面的数字编辑、动画的制作、电子图像游戏、纺织工艺品设计、服装设计与制作、发型设计、文物资料照片的复制和修复、运动员动作分析和评分等等。目前正在形成一门新的艺术计算机美术。表1-1 图像处理各领域应用学科应用物理、化学结晶分析、谱分析等生物、医学细胞分析、染色体分类、X射线成像环境保护水质及大气污染调查等地质资源勘测、地图绘制、GIS等农业、林业农作物估产、植被分布调查等气象卫星云图分析等通信传真、电视、多媒体通信等工业工业探伤、机器人、产品质量检测等军事导弹导航、军事侦察等渔业鱼群分布调查等水利河流分布、水利及水害调查等法律指纹识别等自20世纪60年代第三代数字计算机问世以后,数字图像处理技术出现了空前的发展,在该领域中需要进一步研究的问题主要有如下五个方面:(1)在进一步提高精度的同时,着重解决处理速度问题;(2)加强软件研究,开发新的处理方法,特别要注意移植和借鉴其他学科的技术和研究成果,创造新的处理方法;(3)加强边缘学科的研究工作,促进图像处理技术的发展;(4)加强理论研究,逐步形成处理科学自身的理论体系;(5)时刻注意图像处理领域的标准化问题。数字图像处理的今后的应用越来越广泛,地位越来越重要,在未来现代化建设中将要发挥无与伦比的重要作用。2.课程设计的目的与原理2.1设计目的图像放大是一种应用广泛的数字图像处理技术,随着应用水平的不断提高,对在嵌入式系统中实现图像的清晰放大的需求也越来越高。如在安保领域的高分辨率数字图像的显示处理过程中,由于现有的显示效果不够理想,就需要在对图像进行清晰的放大。采用DSP平台是一种实现方式,它能充分发挥DSP平台强大的并行计算能力。2.2设计任务1.能从计算机上读取图片。2. 编写图像放大程序,在TMS320C5509上实现。2.2设计原理图2.1 原理图目前,已经有很多图像放大的算法算法,例如:1. 最邻近插值(近邻取样法):最邻近插值的的思想很简单,就是把这个非整数坐标作一个四舍五入,取最近的整数点坐标处的点的颜色。可见,最邻近插值简单且直观,速度也最快,但得到的图像质量不高。 2.双线性内插值法:在双线性内插值法中,对于一个目的像素,设置坐标通过反向变换得到的浮点坐标为(i+u,j+v),其中i、j均为非负整数,u、v为0,1)区间的浮点数,则这个像素得值 f(i+u,j+v) 可由原图像中坐标为 (i,j)、(i+1,j)、(i,j+1)、(i+1,j+1)所对应的周围四个像素的值决定,即:f(i+u,j+v) = (1-u)(1-v)f(i,j) + (1-u)vf(i,j+1) + u(1-v)f(i+1,j) + uvf(i+1,j+1)其中f(i,j)表示源图像(i,j)处的的像素值,以此类推。这就是双线性内插值法。双线性内插值法计算量大,但缩放后图像质量高,不会出现像素值不连续的的情况。由于双线性插值具有低通滤波器的性质,使高频分量受损,所以可能会使图像轮廓在一定程度上变得模糊。 3.双三次插值法:双三次插值法能够在很大程度上克服以上两种算法的不足,该算法计算精度高,但计算量大,它考虑一个浮点坐标(i+u,j+v)周围的16个邻点。目的像素值f(i+u,j+v)可由如下插值公式得到:f(i+u,j+v) = A * B * C其中A= S(u + 1)S(u + 0)S(u - 1)S(u - 2) ;C= S(v + 1)S(v + 0)S(v - 1)S(v - 2) T;而B是周围16个邻点组成的4*4的矩阵;S(x)是对 Sin(x*)/x 的逼近。在DSP平台上,有限的高速存储资源限制了这些算法效率的直接发挥,需要针对算法及DSP平台的性能结构特点进行高效的数据调度。这里我们运用的是第二种双线性内插值法。3 软件程序3.1主程序#include #include #include#include#include#include#include #include #define HIGH 3.14159#include int main( int argc, char* argv )char* filename = NULL;int width,height,step,channels;int width_xz,height_xz,step_xz,channels_xz;double p,q;double a,b;double x,y;int i,j,m,n,R,G,B;int count;uchar* data;uchar* data_xz;IplImage* pImg;/声明IplImage指针IplImage* pImg_xz; /声明IplImage指针filename=D:d.jpg; /图像的地址 pImg = cvLoadImage(filename, 1); /载入图像pImg_xz = cvCreateImage(cvGetSize(pImg), IPL_DEPTH_8U,3); /创建图像cvNamedWindow( 原图, 1 );/创建窗口cvMoveWindow(原图,100,200); /移动窗口width = pImg-width;height = pImg-height;step = pImg-widthStep/sizeof(uchar);data = (uchar*)pImg-imageData;channels = pImg-nChannels;width_xz = pImg_xz-width;height_xz = pImg_xz-height;step_xz = pImg_xz-widthStep/sizeof(uchar);data_xz = (uchar*)pImg_xz-imageData;channels_xz = pImg_xz-nChannels;width_xz=int(width_xz/2);/取中心位置height_xz=int(height_xz/2);/取中心位置cvNamedWindow( 现图, 1 );/创建窗口cvMoveWindow(现图,900,200); /移动窗口a=0.1;b=0.1;count=20;while(1)for(i=-height_xz;iheight_xz;i+)for(j=-width_xz;j0)m=(int)y;/求最小整数elsem=(int)(y-1);/求最小整数if(x0)n=(int)x;/求最小整数elsen=(int)(x-1);/求最小整数p=x-n;q=y-m;if(q=1)q=0;m=m+1;if(p=1)p=0;n=n+1;if(m=-height_xz)&(m=-width_xz)&(nwidth_xz)R=(int)(1.0-q)*(1.0-p)*data(m+height_xz)*step+channels*(n+width_xz)+p*data(m+height_xz)*step+channels*(n+1+width_xz)+q*(1.0-p)*data(m+height_xz+1)*step+channels*(n+width_xz)+p*data(m+height_xz+1)*step+channels*(n+1+width_xz);G=(int)(1.0-q)*(1.0-p)*data(m+height_xz)*step+channels*(n+width_xz)+1+p*data(m+height_xz)*step+channels*(n+1+width_xz)+1)+q*(1.0-p)*data(m+height_xz+1)*step+channels*(n+width_xz)+1+p*data(m+height_xz+1)*step+channels*(n+1+width_xz)+1);B=(int)(1.0-q)*(1.0-p)*data(m+height_xz)*step+channels*(n+width_xz)+2+p*data(m+height_xz)*step+channels*(n+1+width_xz)+2)+q*(1.0-p)*data(m+height_xz+1)*step+channels*(n+width_xz)+2+p*data(m+height_xz+1)*step+channels*(n+1+width_xz)+2);elseR=0;G=0;B=0;if(R0|G0|B255|G255|B255)R=255;G=255;B=255;data_xz(i+height_xz)*step_xz+channels_xz*(j+width_xz)=R;data_xz(i+height_xz)*step_xz+channels_xz*(j+width_xz)+1=G;data_xz(i+height_xz)*step_xz+channels_xz*(j+width_xz)+2=B;cvShowImage( 现图, pImg_xz ); /显示图像cvShowImage( 原图, pImg ); /显示图像Sleep(200);if(count%20)10)a+=0.1;b+=0.1;elsea-=0.1;b-=0.1;count+; cvWaitKey(0);/等待按键cvDestroyWindow( 原图 );/销毁窗口cvReleaseImage( &pImg );/释放图像cvDestroyWindow( 现图 );/销毁窗口cvReleaseImage( &pImg_xz );/释放图像 return 0;3.2初始化和读取图像程序#include#define MODEPHOTO1 1#define MODEPHOTO2 2#define GRAYBARLEVEL 16void ReadImage(unsigned char*pImage,char*cFileName,int nWidth,int nHeight);void InitImage(unsigned int nMode,unsigned char*pImage,int nWidth,int nHeight) swich(nMode) case MODEPHOTO1: Readimage(pImage,.DSP.bmp,nWidth,nHeight); break; case MODEPHOTO2: ReadImage(pImage,.1.bmp,nWidth,nHeight); break; default: break; void ReadImage(unsigned char*cFileName,int nWidth,int nHeight) int j; unsigned char*pWork; FILE*fp; if(fp=fopen(cFileName,rb) fseek(fp,1078L,SEEK_SET); pWork=pImage+(nHeight-1)*nWidth; for(j=0;jnHeight;j+,pWork-=nWidth) fread(pWork,nWidth,1,fp); fclose(fp); 4 运行结果分析从实验结果可以看出,对图像的放大,我们采用的双线性内插值法还是很清晰地。双线性内插值法计算量大,但缩放后图像质量高,不会出现像素值不连续的的情况。但是由于双线性插值具有低通滤波器的性质,使高频分量受损,所以可能会使图像轮廓在一定程度上变得模糊。图4.1 原图图4.2 放大后效果图5.结 论 实验采用高分辨率图像处理平台,以TMS320C5509芯片为主处理芯片,时钟为300MHz,片外为16MB SDRAM。实验实现相应尺寸的视口图像放大,相应的源图像数据分别为BMP格式的数字地图图像,图像放大方法有重复放大线性放大和高次多项式插值放大。重复放大最简单,但会产生明显的方块效应线性放大消除了方块效应,但会造成图像的模糊 高次多项式插值放大效果较好,但运算复杂。由于传统方法的固有缺陷,诞生了新一代图像放大方法,主要有小波放大、邻域交换内插和分形放大等参考文献1 DANIELSSON P E.High-Accuracy Rotation of ImagesJ.Graphical Models and Image Processing,20022 方华刚.DSP原理与应用.北京.北京机械工业出版社,2006.13 朱虹.数字图像处理.北京.科学出版社,2007.44 孙宗瀛. TMS320C55X DSP原理设计与应用.北京. 清华大学出版社,20025 郑红 吴冠. TMS320C55X DSP应用系统设计.北京.北京航空航天大学出版社, 20026 TMS320C55X DSP Programmers Guide SPRU376AZ.Texas Instruments,2001
展开阅读全文