当前位置:首页 >> 信息与通信 >>

DSP实验报告6


DSP 实验报告
实验六 数字图象处理实验

指导老师: 学院: 班级: 姓名: 学号:

一、实验目的 1. 学习使用实时运行库并了解数字图象处理的基本原理; 2. 熟悉用C和汇编混合编程的方法及混合编程的调试方法; 3. 学习灰度图象反色处理技术及其二值化处理技术。 二、实验环境 1. 集成开发环境Code Composer

Studio 2.0(简称CCS) 2. 实验程序DSP54X-28-Tuxiangchuli.c,DSP54X-28-Tuxiangchuli.cmd,rts.lib, c5402.gel(说明同前)。 三、实验步骤 实验操作流程参照前面实验。 1. 建立新项目DSP54X-28-Tuxiangchuli.pjt,添加所需文件。双击打开源程序 DSP54X-28-Tuxiangchuli.c,找到打开图片语句,根据源语句及Tupian文件夹所在 位置,重新设置好图片的打开路径(保存时注意文件属性。必须修改好,否则会 要求手动输入64*64个数据,如出现这种情况,通过任务管理器关闭CCS后重新 打开修改)。 2. 改 设 置 :Build option 子 菜 单 linker 中 Basic 项 Autoinit Model 改 为 load-time Initialization或Run-time Initialization(用No Initialization得不到正确的图像)。 3. 编译连接Build后, 装载得到的.out程序。主程序中,在三个“i=0”处设置三 个断点,如下图所示。选择Debug_>Go main,使程序从main处开始执行。单击 “Run”,程序运行到第一个断点处停止;

4. 用 View/Graph/Image 打 开 一 个 图 形 观 察 窗 口 , 以 观 察 程 序 载 入 的 “Lena64.bmp”图像,该图像在“....\Tupian”目录中;按下图设置该观察窗口, 以观察变量y为64*64的二维数组(也可在程序执行前就打开图形窗口,设置完确定 时对y选择“否”即可):

a) b)

“Lena64.bmp”在 CCS 环境下第一个断点处的显示图像如下图(a); 单击“Run”,程序运行到第二个断点处停止,这时可在图形观察窗口中,观察原图像 经反色处理后的结果图像,如下图(b):

c)

再单击“Run”,程序运行到第三个断点处停止,这时可在图形观察窗口中,观察到原 图像二值化处理后的结果图像,本程序中,二值化处理阀值设为 128,见下图(c):

(a)

(b)

(c)

5.

修改程序,对图像做其它处理(如反向显示,上下颠倒等),记录实验数据

及结果,写出报告。
四、实验程序及流程图 #include "math.h" //ye ke bu yao. #include "stdio.h" #define IMAGE_WIDTH 64 #define IMAGE_HEIGTH 64 main() { FILE *fi; int i,j,k; int y[IMAGE_HEIGTH][IMAGE_WIDTH]; unsigned char id[64]; k=128; /*k is Threshold Value*/ // fi=fopen("D:\\Tupian\\Lena64.bmp","rb"); fi=fopen("D:\\MyProjects Workspace\\DSP_CCS\\Labs\\09lab\\lab56\\DSP54X-28-Tuxiangchuli\\Tupian\\Lena64. bmp","rb"); /* if(fi==NULL) { printf("can not open file Lena64.bmp.\n"); exit(1); } else printf("open file Lena64.bmp succeeded.\n"); */ for (i=0; i<=16; i++) { fread((char *)id,sizeof(char),IMAGE_WIDTH,fi); } fread((char *)id,sizeof(char),54,fi); for (i=0; i<IMAGE_HEIGTH; i++) { fread((char *)id,sizeof(char),IMAGE_WIDTH,fi); for (j=0; j<IMAGE_WIDTH; j++) { y[i][j]=id[j];

} } fclose(fi); i=0; for (i=0; i<IMAGE_HEIGTH; i++) { for (j=0; j<IMAGE_WIDTH; j++) { y[i][j] = (255-y[i][j]); } } i=0; for (i=0; i<IMAGE_HEIGTH; i++) { for (j=0; j<IMAGE_WIDTH; j++) { y[i][j] = 255*((255-y[i][j])/k); } } i=0; i=0; } 程序初始化

打开图像文件

读取图像,存于数组 y 中

关闭图像文件

循环使每个象素点的值取其与 255 的补数

循环使每个象素点按原值,若大于 128 则赋为 255 否则为 0

结束 五、修改的程序及图形 上下颠倒修改的程序如下: for (i=IMAGE_HEIGTH; i>0; i--) { fread((char *)id,sizeof(char),IMAGE_WIDTH,fi); for (j=0; j<IMAGE_WIDTH; j++) y[i][j]=id[j]; {

图形如下:

左右颠倒的修改的程序: for (j=0; j<IMAGE_WIDTH/2; j++) { yang = y[i][IMAGE_WIDTH-j]; y[i][IMAGE_WIDTH-j] = y[i][j]; y[i][j] = yang; } 图形如下:

六、实验心得 通过这次实验更加熟悉了软件的使用,学习使用实时运行库并了解数字图象处理的基 本原理,熟悉了用C和汇编混合编程的方法及混合编程的调试方法,学习灰度图象反色处理 技术及其二值化处理技术。通过修改程序的内容,基本了解了程序的功能,学会了对图片通 过修改程序这种方法来进行不同的处理,如反向显示,上下颠倒等。这次实验很有趣,增加 了我们对这门学科的兴趣,认识到这个软件功能的强大。


相关文章:
湖南工业大学DSP实验报告word版
DSP 实验报告 姓名: 班级: 学号: 指导老师: 湖南工业大学电气与信息工程学院 ...1 6 位寄存器: .为 PMW 输出对提供范围宽广的可编程死区: .可变的 MW 载体...
DSP实验报告3
DSP实验报告3_工学_高等教育_教育专区。DSP 实验报告 3 姓名 时间 学号 2015.6.9 地点 实验大楼 A631 评阅 实验题目 卷积运算 一、 实验目的 1、学习如何用...
DSP实验报告
DSP实验报告_调查/报告_表格/模板_实用文档。实验一班级: —、实验目的 1. ...五、实验程序框图 六、实验建议本实验程序采用外部中断的方法来判断键盘是否被按...
DSP实验六实验报告
DSP实验六实验报告DSP实验六实验报告隐藏>> DSP 实用技术实验报告实验六 数字图象...实验程序 DSP54X-28-Tuxiangchuli.c,DSP54X-28-Tuxiangchuli.cmd,rts.lib,...
DSP实验报告6
5页 免费 DSP第一次实验报告 8页 免费 DSP第三次实验报告 13页 免费如要投诉违规内容,请到百度文库投诉中心;如要提出功能问题或意见建议,请点击此处进行反馈。 ...
DSP实验报告 (6)
了解 DSP 54X EVM 板的硬件环境; (二)实验原理 CCS(Code Composer Studio)是用于开发 DSP 芯片的集成开发环境,采用 Windows 风格界面,集编辑、编译、链接、软件...
DSP实验报告模板_图文
实验时间 :2016 年 6 月 17 日成 绩 13 级测控 3 班 106001549 机械工程学院 DSP 技术及应用 实验一:DSP 程序下载实验 方春恩 年级/专业/班 课程代码项目...
DSP实验报告6
5页 免费 DSP实验报告5 4页 免费 DSP第二次实验报告 9页 免费如要投诉违规内容,请到百度文库投诉中心;如要提出功能问题或意见建议,请点击此处进行反馈。 ...
DSP实验报告B13011025
DSP实验报告B13011025_解决方案_计划/解决方案_实用文档。南京邮电大学 实验报告 ...MATLAB 程序: Ws = [0.4 0.6]; Wp = [0.2 0.8]; Rp = 0.4; ...
DSP软件实验报告
DSP 软件实验报告 班级: 姓名: 学号: 班内序号: 1 实验一:数字信号的 FFT ...程序运行结果 6 %计算频谱能量 (1) 编码信号时域波形图 (2) Command Window...
更多相关标签: