DSP课设按键控制的数字图像处理技术

上传人:平*** 文档编号:13303444 上传时间:2017-10-23 格式:DOC 页数:11 大小:220.27KB
返回 下载 相关 举报
DSP课设按键控制的数字图像处理技术_第1页
第1页 / 共11页
DSP课设按键控制的数字图像处理技术_第2页
第2页 / 共11页
DSP课设按键控制的数字图像处理技术_第3页
第3页 / 共11页
DSP课设按键控制的数字图像处理技术_第4页
第4页 / 共11页
DSP课设按键控制的数字图像处理技术_第5页
第5页 / 共11页
点击查看更多>>
资源描述

《DSP课设按键控制的数字图像处理技术》由会员分享,可在线阅读,更多相关《DSP课设按键控制的数字图像处理技术(11页珍藏版)》请在金锄头文库上搜索。

1、课程设计报告( 2014 - 2015 年度第二学期)课程名称: DSP 课程设计 题 目: 按键控制的数字图像处理技术院 系: 班 级: 学 号: 学生姓名: 指导教师: 设计周数: 2 成 绩:日期:2014 年 7 月 9 日一、 课程设计的目的与要求1. 设计方案:综合基础实验里的图像边缘检测、图像锐化、图像取反算法,通过实验板的按键 1、2、3 控制三种算法的切换,在计算机窗口显示图形。同时在 lcd 上显示三种算法的名称。二、 设计正文1. 设计思路(系统组成介绍)添加标志位 a2 添加标志位 a1 添加标志位 a3边缘检测程序子初始化工作变量针对图像中每一像素用 Sobel 算子

2、进行运算边缘检测结束取反子程序子程序子程序初始化工作变量针对图像中每一像素进行取反运算取反结束锐化子程序子程序初始化工作变量针对图像中每一像素用拉普拉斯算子进行运算锐化结束按键检测程序边缘检测图像 取反图像锐化图像2.主要部分硬件设计:键盘模块作用:按下按键,当键盘检测程序检测到按键按下时,调用对应的算法程序进行图像的处理LCD 液晶显示模块:实验箱上的液晶模块采用的型号是 TJDM12864MTJDM12864M 是一款带中文字库的图形点阵模块,由动态驱动方式驱动 12864 点阵显示。低功耗,供应电电压范围宽。内含多功能的指令集,操作简易。采用 COB 工艺制作,结构稳固,使用寿命长。特性

3、: 1.提供 8 位,4 位及串行接口可选 2.6416 位字符显示 RAM(DDRAM 最多 16 字符4 行,LCD 显示范围 162 行) 3.2M 位中文字型 ROM(CGROM) ,总共提供 8192 个中文字型(1616 点阵) 4.16K 位半宽字型 ROM(HCGROM),总共提供 126 个西文字型(168 点阵) 5.6416 位字符产生 RAM(CGRAM ) 6.1516 位总共 240 点的 ICON RAM(ICONRAM) 7.自动复位(RESET )功能 8.绘图及文字画面混合显示功能 9.提供多功能指令: 画面清除(display clear) 游标归位(re

4、turn home) 显示开/关(display on/off) 游标显示/隐藏(cursor on/off) 字符闪烁(display character blink) 游标移位(cursor shift) 显示移位(display shift) 垂直画面旋转(vertical line scoll) 反白显示(By-line reverse display) 睡眠模式(sleep mode) DSP 与 LCD 的连接:键盘模块:扫描方式数据线 D0D3 对应输出引脚 DK4DK7 对应矩阵键盘 “列”数据线 D4D7 对应输入引脚 DK0DK3 对应矩阵键盘“行”3.软件设计流程:Sob

5、el 边缘算子:下图所示的两个卷积核形成了 sobel 算子,图像中的每个点都用这两个核做卷积,一个核对通常的垂直边缘相应最大,而另一个对水平边缘相应最大。两个卷积的最大值作为该点的输出位。运算结果是一幅边缘幅度图像。锐化:对于扩散现象引起的图像模糊,可以用下式来进行锐化:g(i , j) = f (i, j) k2 f (i, j)这里 k 是与扩散效应有关的系数。该系数取值要合理,如果 k 过大,图像轮廓边缘会产生过冲;反之如果 k 过小,锐化效果就不明显。如果令 k 1,则变换公式为:g(i, j) = 5 f (i, j) f (i 1, j) f (i +1, j) f (i, j

6、+1) f (i, j 1)用模板表示如下:取反:将图像按像素按位进行求反,取得类似照相底片效果。求反处理的图像与原始图“黑白颠倒” ,可以看清原始图中灰黑区域的情况。求反的图像一般用于数字图像的初步处理。4.在试验箱上模拟实现连接,编译、下载、运行。开机界面后,按下按键 1 在 lcd 显示边缘检测,按下 2 显示锐化,按下 3 显示取反,同时在计算机上显示算法图像。三课程设计总结1.问题与思考1.1 如何综合三个图像的算法打开边缘检测的工程,点击右键工程添加锐化及取反的.c 文件,在主程序里修改之后程序编译之后我发现提示头文件不能打开,右键点击添加之后也不行,之后打开工程的文件夹,把提示不

7、能打开的头文件从其他程序复制到工程里再次编译成功。1.2 在移植程序到 lcd 程序的过程中程序无误但按键不能使用仍然是文件缺失的问题,经过同学指导,我把之前综合的图像处理程序添加到了 lcd 程序里,而不是添加 lcd 到之前的程序,解决了这个问题。1.3 lcd 上的汉字显示错误一开始我只是添加了汉字的编码,之后老师指导之后我添加了wr_lcd(comm,0x01);显示正确。1.4 在编译调试过程中出现的.cmd 文件出错?理解 cmd 文件中的内容。.cmd 文件类型及作用:.cmd 是链接器命令文件,用于存储器配置。.cmd 文件结构:.cmd 由两条链接伪指令来描述:MEMORY

8、和 SECTIONS,其中:MEMORY 定义用户目标系统存储器的配置; SECTIONS 控制段的构建和存储器的分配。 sections 是 COFF 文件中最重要的概念,它至少包含以下三个段:.text 段:包含可执行代码;.data 段:包含初始化数据;.bss 段:为未初始化变量保留存储空间。.cinit 段:包含初始化变量表和常数,C/C+ 的全局变量;段的分类:可分为已初始化段和未初始化段。已初始化段:包含数据或程序代码。例如:.text 段, .data 段和用.sect 汇编命令建立的自定义段。当汇编器遇到.text 或.data 或.sect 命令时,将停止对当前段的汇编,然

9、后将紧接着的程序代码或数据汇编到指定的段中,直到再遇见另一条命令为止。未初始化段:是C54x 存储器中的保留空间,通常定义在 RAM 区。包含:.bss 段和.usect 段。当汇编器遇到.bss 或.usect 命令时,并不停止对当前段的汇编,只是暂时从当前段脱离出来,并对新的段进行汇编。个别有地址分配不足的可以根据手册进行地址长度修改或改变存储地址。2.心得体会本次课程设计我基本掌握了 DSP 基本的原理结构、TMS320C5509 片上 LCD和键盘的编程使用。了解了图像处理的原理以及综合起来的知识,启发了我对了 dsp 软件编程的理解,在课程设计中总是出各种错误,但是在老师和同学的帮助

10、下终于完成了最后的设计。附录:部分相关代码:#include myapp.h#include ICETEK-VC5509-EDU.h#include scancode.h#include stdio.h #define IMAGEWIDTH 80#define IMAGEHEIGHT 80#define MODEGRAYBAR 0#define MODEGRAY 1#define MODEPHOTO1 2#define MODEPHOTO2 3#define MODEPHOTO3 4#define MODEPHOTO4 5#define LCDDELAY 1#define KEYDIR (*(

11、unsigned int *)0x602800)#define COL (*(unsigned int *)0x600803)#define ROW (*(unsigned int *)0x600804)#define TEST (*(unsigned int *)0x600801)unsigned int a1=0;unsigned int a2=0;unsigned int a3=0;void LCD_Init();int nCursorCount;void key_scan();int nCursorCount;unsigned int dbReturn;void InitImage(u

12、nsigned int nMode,unsigned char *pImage,int nWidth,int nHeight);unsigned char dbImageIMAGEWIDTH*IMAGEHEIGHT;unsigned char dbTargetImageIMAGEWIDTH*IMAGEHEIGHT;int dbScanCode,tKey,cKey,nKeyCode,nCount;main()/int i,nCount=0,nBW=0;int dbScanCode,tKey,cKey,nKeyCode,nCount;PLL_Init(20);SDRAM_init();InitCT

13、R();LCD_Init();Smenu();clrram();dbReturn=ROW;while(1)key_scan();if (a1=1)a1=0;InitImage(MODEPHOTO2,dbImage,IMAGEWIDTH,IMAGEHEIGHT);Sobel(IMAGEWIDTH,IMAGEHEIGHT);if (a2=1)a2=0;InitImage(MODEPHOTO2,dbImage,IMAGEWIDTH,IMAGEHEIGHT); Laplace(IMAGEWIDTH,IMAGEHEIGHT);if (a3=1)a3=0;InitImage(MODEPHOTO2,dbIm

14、age,IMAGEWIDTH,IMAGEHEIGHT);Reverse(IMAGEWIDTH,IMAGEHEIGHT); void key_scan()/while(1)/unsigned char i;unsigned char m;for(i=0;i4;i+)COL=(0x0001i);/i=0,读取第四行,i=3,读取第一行。Delay(40);dbReturn=ROW;if(dbReturn&0x00f0)!=0x00f0)Delay(10);if(dbReturn&0x00f0)!=0x00f0)dbReturn=dbReturn&0x00ff;switch(dbReturn) ca

15、se 0xee: wr_lcd(dat,D); break;/case 0xde: wr_lcd(comm,0x01);break;case 0xbe: wr_lcd(dat,0); break;case 0x7e: wr_lcd(dat,*); break;case 0xed: wr_lcd(dat,C); break;/case 0xdd: wr_lcd(dat,9); break;case 0xbd: wr_lcd(dat,8); break;case 0x7d: wr_lcd(dat,7); break;case 0xeb: wr_lcd(dat,B); break;/case 0xdb: wr_lcd(dat,6); break;case 0xbb: wr_lcd(dat,5); break;case 0x7b: wr_lcd(dat,4); break;case 0xd7: wr_lcd(dat,3 );a3=1; break;case 0xb7: wr_lcd(dat,2 );a2=1; break;case 0x77: wr_lcd(dat,1 );a1=1; break;/ case

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


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

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