《基于DSP的图像处理》-dsp课程设计(2)

2018-11-23 21:13

河海大学计算机与信息学院——DSP课程设计报告 下,DSP的效率才能得到最大化的发挥。在大图像旋转算法中,由于涉及的图像数据量远大于DSP的片内存储器容量,源图像和最终视口图像等数据必须被存放在片外存储器中。在这种情况下,为了保证DSP CPU高速处理能力的发挥,必须优化数据流,将源图像分块,依次搬移至片内处理,并设法保证CPU当前要处理的图像数据块已经事先在片内存储器中准备好了。因此在算法整体优化结构上采用Ping-Pong双缓冲技术,利用EDMA与CPU并行工作来隐藏图像数据块在片内和片外之间的传输时间,使CPU能连续不断地处理数据,中间不会出现空闲等待。 传统的图像旋转一般通过矩阵乘法实现: 其中,α为旋转角度。 由于图像是线性存储的,各个像素点之间的相对位置关系确定。如图1(a)所示,图像旋转前,任意像素点P(x,y)和P1(x1,y1)、P2(x2,y2)及A(xA,yA)在几何上是矩形的四顶点关系。由于旋转变换是线性变换,如图1(b)所示,图像旋转后,各个像素点之间的相对位置关系不发生变化, 旋转算法的数据调度目的是使算法能够按照一定的规则,将源图像数据有规律地分块,并按次序分别传输到DSP片内存储器中,完成计算后,形成视口图像块,再将视口图像块按同样的顺序进行排列,形成旋转后的视口图像。整个过程要求调入和调出的图像数据均是规则分块的,并且调入的源图像块中应该包含计算视口图像块的过程中所需要的全部像素数据,尤其需要解决其中的大量非连续图像像素地址访问问题。 视口逆时针旋转的情况与此类似。区别有以下两点: ① 源图像块的左边框中点与相应的视口图像块旋转后的左上角顶点对应; ②源图像块的顶点局部坐标地址值与视口图像块的顶点局部坐标地址值之间的对应关系式应为: 4 河海大学计算机与信息学院——DSP课程设计报告 其中height指源图像块的高度。 4.总结 通过本次课程设计,将课堂教学的知识应用于实践。在这个过程中,我们先对图像的知识进行基本的了解,并且将图像转化为数组进行存储,处理。我们还学习了ccs软件的基本应用,这对于我们以后的工作也是非常重要的。同时通过这次实践进一步提高了我们的c语言水平。最重要的是对我们思维的开拓,从开始的数组化图像到后来局部二值化的想法,通过向老师提问,网上查找资料等方式我们一步一步完善我们的课程设计,最终完成了我们的课设目的。 另外,通过本次实践,我们也感受到了dsp技术的稳定性好,可重复性好,抗干扰能力强,数据压缩等特点。相信这项技术在以后有更大的发展空间。 参考文献 [1] 戴明桢,周建江. TMS320C54x DSP[M]. 北京:北京航空航天大学出版社,2007. [2] 郎崇林 DSP及其在图像处理中的应用[J]. 科技情报开发与经济, 2011,第26期 [3] 百度百科 二值化 5 河海大学计算机与信息学院——DSP课程设计报告 附录 3.1主程序 #include #include #include #include #include int load_cut(char *fname); int load_convolution_matrix(char *fname); int convolve_image(void); int swap_pictures(void); int minx,maxx,miny,maxy; int LOADPAGE=0; int ENHANCEPAGE=1; int *cmat, *pmat, *vmat; int cmx,cmy,cmnum; struct palettetype palette,newpal; int driver,mode; int cleancut=-1; int init_graphics(void) { driver=DETECT; mode=0; detectgraph(&driver,&mode); if(driver==VGA) mode=VGAMED; initgraph(&driver,&mode,\ getpalette(&palette); getpalette(&newpal); } int cleanup_image(void) 6 河海大学计算机与信息学院——DSP课程设计报告 { int i,j,num,x,y,k; if(cleancut<0) return; setactivepage(LOADPAGE); setvisualpage(ENHANCEPAGE); for(x=minx;xcleancut) { k=getpixel(x,y); setactivepage(ENHANCEPAGE); putpixel(x,y,k); setactivepage(LOADPAGE); } } } k=ENHANCEPAGE; ENHANCEPAGE=LOADPAGE; LOADPAGE=k; } void show_test_image(void) { int i; minx=cmx; miny=cmy; maxx=100+minx; maxy=100+miny; setcolor(1); 7 河海大学计算机与信息学院——DSP课程设计报告 moveto(minx,miny); randomize(); for(i=0;i<20;i++) lineto(random(100)+minx,random(100)+miny); for(i=0;i<10;i++) fillellipse(random(50)+25+minx,random(50)+25+miny,random(25),random(25)); } main() { char fname[50]; int flag=0; load_convolution_matrix(\ printf(\ scanf(\ flag= flag? 1:0; if(flag) { fflush(stdin); printf(\ gets(fname); } printf(\ scanf(\ if(cleancut>8) cleancut=8; init_graphics(); setactivepage(1); cleardevice(); setactivepage(0); cleardevice(); setactivepage(LOADPAGE); setvisualpage(LOADPAGE); if(flag) load_cut(fname); else show_test_image(); 8


《基于DSP的图像处理》-dsp课程设计(2).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:关于成为海口金盘饮料公司材料独家供货商的谈判方案

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: