dsp二维图像生成

上传人:油条 文档编号:14011437 上传时间:2017-10-29 格式:DOC 页数:17 大小:644KB
返回 下载 相关 举报
dsp二维图像生成_第1页
第1页 / 共17页
dsp二维图像生成_第2页
第2页 / 共17页
dsp二维图像生成_第3页
第3页 / 共17页
dsp二维图像生成_第4页
第4页 / 共17页
dsp二维图像生成_第5页
第5页 / 共17页
点击查看更多>>
资源描述

《dsp二维图像生成》由会员分享,可在线阅读,更多相关《dsp二维图像生成(17页珍藏版)》请在金锄头文库上搜索。

1、二维图像的生成DSP课程设计报告学 号:0806020403 0806020412 班 级: 通信四班 姓 名: 吴艳华 贾天麒 指导教师: 徐淑芳 二零一一年 5 月 5 日目 录第 1 章 引 言 1第 2 章 二维图像的生成 1第 3 章 结 论 7参考文献 8附 录 91第 1 章 引 言1.1 课程设计目的了解 DSP 的图形处理功能;掌握 CCS 的图形观察功能;学会简单的二维图形生成编程,改变图形的大小,形状,颜色等等。1.2 课程设计题目背景描述和要求dsp 是一门不断发展的技术,利用它进行二维图像的生成,简单、快捷、易操作。生成的二维图像生动形象,可观性强。随着 dsp 的不

2、断发展,二维图像的生成已经是学习 dsp 必须具备的能力。1.3 本课题工作及任务分工情况课题重点实现了二维图像的生成,并对该算法运行的实验结果进行分析。吴艳华:负责收集二维图像的生成相关资料、改编程序并调试。贾天麒:对实验结果进行分析、整理文档、写课程设计报告。第 2 章 二维图像的生成2.1 实验仪器计算机,CCS 2.0 版软件,DSP 仿真器,实验箱。2.2 实验原理:在采用窗口法时,用旋转法和笛卡尔生成法完成设计,并对这两种方法进行扩展和探索。2.2.1 旋转法:将一维滤波器的 以 轴为旋转轴,旋转 360 度,从而生成)(wH)(,可表示为:),(nmH)(,2n这种方法生成的窗口

3、底面区是圆的;2.2.2 笛卡尔生成法:用两个一维窗口的笛卡尔(外)积来求得方形或矩形底面区的二维窗口,可表示为:2开 始定义各参数利用循环求得 xi值利用旋转法定义 rk = (int)(sqrt(r)k=39yij = 0yij=xk;二维图像生成NY结 束)(),(21nHmnc这种方法生成的窗口底面区是方的;2.3 方法流程图2.4 旋转法原始程序用旋转法生成图像时,得到结果如下所示#include math.h3#include stdio.h#define N 81#define M 81#define pi 3.1415926void main()int i,j,yMN,k;do

4、uble x(N-1)/2,r;double m,n,t;for (;)for (t=0; t=32; t+)for (i=0; i=(N-1)/2-1; i+)xi = 127*(1+cos(2*pi*i/(N-1)/2-1)-t*pi/16);for (i=0; i=M-1; i+)for (j=0; j=N-1; j+)yij = 0;m = i;n = j;r = (m-40)*(m-40)+(n-40)*(n-40);k = (int)(sqrt(r);4if (k=39) yij = xk;else yij = 0;i=0;j=0;2.5 实验步骤启动 CCS 2.0,用 Proj

5、ect/Open 打开“Graphmake.pjt”工程文件;双击“Graphmake.pjt”及“Source”可查看各源程序;并加载“Graphmake.out” ;在“Graphmake.c”最后“i = 0”处设置断点;单击“Run” ,程序运行到断点处停止;用 View / Graph / Time/Frequency 打开一个图形观察窗口,以观察产生的一维信号波形;设置该图形观察窗口,观察变量 x,长度 40,浮点型数值;5图 2.1用 View / Graph / Image 再打开一个图形观察窗口,以观察产生的二维信号波形;该二维图形是用一维信号波形以 y 轴为旋转轴旋转 36

6、0 度产生;按下图设置该图形观察窗口,观察变量 y,为 8181 的二维数组;67图 2.2调整图形窗口位置,单击“Animate” ,观察各图形窗口变化;2.6 实验结果加工整理和图表旋转法生成二维图像图 2.3对此旋转法进行延伸修改,可以生成椭圆因为只是形状的变化,所以只需改变圆的方程 r = (m-40)*(m-40)+(n-40)*(n-40);,将其改为椭圆方程即可。 (程序见附录 1)图 2.4对椭圆颜色进行修改,可知 xi的值代表颜色就,所以对 xi = 127*(1+cos(2*pi*i/(N-1)/2-1)-t*pi/16);进行修改(依旧为 i 和 t 的方程) ,可生成不

7、同颜色的图案(程序见附录 2)8图 2.5用笛卡尔法进行图像的生成(程序见附录 3)图 2.6对笛卡尔法进行扩展,方法同开始的椭圆。 (程序见附录 4)图 2.7(程序见附录 5)9图 2.8第 3 章 结 论3.1 结论旋转法和笛卡尔法都可以进行二维图像的生成,旋转法生成的是圆形(扩展后可以是椭圆等) ,而笛卡尔法生成的是方形。在编程过程中,可以对 x 的函数进行修改,从而产生不同的值,这样就可以生成不同的颜色。旋转法生成的 ,可表示为: ,笛卡尔生成),(nmH)(),(2nmHn的 可表示为 ,可以在此进行修改,比如),(n)(21c)3,2mH等,可以生成不同图形。()(1nc二维图像

8、的生成可以有多种不同的方法,本次采用的为窗口法设计,设计时,采用了一维设计技术,从而使简化二维滤波器的设计。除了窗口法外,还可以有多种方法。我们将在以后的学习中进一步探索。3.2 总结本次进行二维图像的生成实验中,我们通过研读程序、推测结果、实验、得到结果等一系列步骤进行了各种二维图像的生成,效果也很好。在熟悉的过程中,我们掌握了许多与 DSP 有关的东西,更重要的是使我对 CCS2.0 软件功能应用和图像处理知识有了一定的了解。为此,我对用基于 CCS2.0 进行图像处理的步骤、方法及思路有了一个全新的认识。这加深了我对计算机软件 CCS2.0 的熟悉,同时也学会了简单的二维图像的生成。10

9、在学习与操作的过程中,难免会遇到很多失败,可能是没设置断点,也可能是修改参数有误,一个小小的错误就可能使实验不能出结果。以后会注意防止产生类似的错误。还有在对程序进行修改时,可能因为修改不当导致图像没有生成,这也是需要注意的。参考文献1李晓翔 计算机工程 上海 上海交通大学出版社 20002章毓秀. 图像处理和分析. 北京: 清华大学出版社,1998 附录 1#include math.h#include stdio.h#define N 81#define M 81#define pi 3.1415926void main()int i,j,yMN,k;double x(N-1)/2,r;d

10、ouble m,n,t;for (;)for (t=0; t=32; t+)11for (i=0; i=(N-1)/2-1; i+)xi = 127*(1+cos(2*pi*i/(N-1)/2-1)-t*pi/16);for (i=0; i=M-1; i+)for (j=0; j=N-1; j+)yij = 0;m = i;n = j;r = (m-40)*(m-40)+(n-40)*(n-40)*3;k = (int)(sqrt(r);if (k=39) yij = xk;else yij = 0;i=0;j=0;附录 2#include math.h#include stdio.h#def

11、ine N 81#define M 81#define pi 3.1415926void main()int i,j,yMN,k;double x(N-1)/2,r;double m,n,t;for (;)for (t=0; t=32; t+)12for (i=0; i=(N-1)/2-1; i+)xi = t-i;for (i=0; i=M-1; i+)for (j=0; j=N-1; j+)yij = 0;m = i;n = j;r = (m-40)*(m-40)*2+(n-40)*(n-40);k = (int)(sqrt(r);if (k=39) yij = xk;else yij =

12、 0;i=0;j=0;附录 3#include math.h#include stdio.h#define N 81#define M 81#define pi 3.1415926void main() int i,j,yMN;double xN-1;double t;for (;)for (t=0; t=32; t+)13for (i=0; i=N-1; i+)xi =3*t-i;for (i=0; i=M-1; i+)for (j=0; j=N-1; j+)yij = 0;if (i=80&j=80) yij = xi*xj;else yij = 0;i=0;j=0;附录 4#includ

13、e math.h#include stdio.h#define N 81#define M 81#define pi 3.1415926void main() int i,j,yMN;double xN-1;double t;for (;)for (t=0; t=32; t+)14for (i=0; i=N-1; i+)xi =127*(1+cos(2*pi*i/(N-1)/2-1)-t*pi/16) ;for (i=0; i=M-1; i+)for (j=0; j=N-1; j+)yij = 0;if (i=80&j=80) yij = xi+xj;else yij = 0;i=0;j=0;附录 5#include math.h#include stdio.h#define N 81#define M 81#define pi 3.1415926void main() int i,j,yMN;double xN-1;double t;for (;)for (t=0; t=32; t+)for (i=0; i=N-1; i+)15xi =t+i;for (i=0; i=M-1; i+)for (j=0; j=N-1; j+)yij = 0;if (i=80&j=80) yij = xi+xj;else yij = 0;i=0;j=0;

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 行业资料 > 其它行业文档

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号