DSP课设 按键控制的数字图像处理技术.doc_第1页
DSP课设 按键控制的数字图像处理技术.doc_第2页
DSP课设 按键控制的数字图像处理技术.doc_第3页
DSP课设 按键控制的数字图像处理技术.doc_第4页
DSP课设 按键控制的数字图像处理技术.doc_第5页
已阅读5页,还剩6页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

课程设计报告( 2014 - 2015年度第二学期)课程名称: DSP课程设计 题 目: 按键控制的数字图像处理技术院 系: 班 级: 学 号: 学生姓名: 指导教师: 设计周数: 2 成 绩:日期:2014 年 7月 9日一、 课程设计的目的与要求1. 设计方案:综合基础实验里的图像边缘检测、图像锐化、图像取反算法,通过实验板的按键1、2、3控制三种算法的切换,在计算机窗口显示图形。同时在lcd上显示三种算法的名称。二、 设计正文1. 设计思路(系统组成介绍)锐化子程序子程序取反子程序子程序子程序边缘检测程序子初始化工作变量初始化工作变量初始化工作变量针对图像中每一像素用拉普拉斯算子进行运算针对图像中每一像素进行取反运算针对图像中每一像素用Sobel 算子进行运算锐化结束取反结束边缘检测结束 添加标志位a2 添加标志位a1 添加标志位a3 按键检测程序取反图像锐化图像边缘检测图像 2.主要部分硬件设计:键盘模块作用:按下按键,当键盘检测程序检测到按键按下时,调用对应的算法程序进行图像的处理LCD液晶显示模块:实验箱上的液晶模块采用的型号是TJDM12864MTJDM12864M 是一款带中文字库的图形点阵模块,由动态驱动方式驱动 12864 点阵显示。低功耗,供应电电压范围宽。内含多功能的指令集,操作简易。采用 COB 工艺制作,结构稳固,使用寿命长。特性: 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) 游标归位(return 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.软件设计流程:Sobel 边缘算子:下图所示的两个卷积核形成了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 +1) f (i, j 1)用模板表示如下: 取反:将图像按像素按位进行求反,取得类似照相底片效果。求反处理的图像与原始图“黑白颠倒”,可以看清原始图中灰黑区域的情况。求反的图像一般用于数字图像的初步处理。4.在试验箱上模拟实现连接,编译、下载、运行。开机界面后,按下按键1在lcd显示边缘检测,按下2显示锐化,按下3显示取反,同时在计算机上显示算法图像。三课程设计总结1.问题与思考 1.1如何综合三个图像的算法打开边缘检测的工程,点击右键工程添加锐化及取反的.c文件,在主程序里修改之后程序编译之后我发现提示头文件不能打开,右键点击添加之后也不行,之后打开工程的文件夹,把提示不能打开的头文件从其他程序复制到工程里再次编译成功。 1.2在移植程序到lcd程序的过程中程序无误但按键不能使用 仍然是文件缺失的问题,经过同学指导,我把之前综合的图像处理程序添加到了lcd程序里,而不是添加lcd到之前的程序,解决了这个问题。 1.3 lcd上的汉字显示错误 一开始我只是添加了汉字的编码,之后老师指导之后我添加了wr_lcd(comm,0x01);显示正确。 1.4在编译调试过程中出现的.cmd文件出错?理解cmd文件中的内容。.cmd文件类型及作用: .cmd是链接器命令文件,用于存储器配置。.cmd文件结构: .cmd由两条链接伪指令来描述:MEMORY 和SECTIONS,其中: MEMORY定义用户目标系统存储器的配置; SECTIONS控制段的构建和存储器的分配。 sections是COFF文件中最重要的概念,它至少包含以下三个段:.text 段:包含可执行代码;.data 段:包含初始化数据; .bss 段:为未初始化变量保留存储空间。 .cinit段:包含初始化变量表和常数,C/C+ 的全局变量;段的分类:可分为已初始化段和未初始化段。已初始化段:包含数据或程序代码。例如:.text段, .data段和用.sect汇编命令建立的自定义段。当汇编器遇到.text或.data或.sect命令时,将停止对当前段的汇编,然后将紧接着的程序代码或数据汇编到指定的段中,直到再遇见另一条命令为止。 未初始化段:是C54x存储器中的保留空间,通常定义在RAM区。包含:.bss 段和.usect段。当汇编器遇到.bss 或.usect命令时,并不停止对当前段的汇编,只是暂时从当前段脱离出来,并对新的段进行汇编。个别有地址分配不足的可以根据手册进行地址长度修改或改变存储地址。2.心得体会本次课程设计我基本掌握了DSP基本的原理结构、TMS320C5509片上LCD和键盘的编程使用。了解了图像处理的原理以及综合起来的知识,启发了我对了dsp软件编程的理解,在课程设计中总是出各种错误,但是在老师和同学的帮助下终于完成了最后的设计。附录:部分相关代码:#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 (*(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(unsigned 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();InitCTR(); 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,dbImage,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) case 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(

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论