关于DSP图形缩放的课程设计报告
- 格式:doc
- 大小:669.00 KB
- 文档页数:12
课程设计总结报告课程名称DSP控制器及其应用设计题目万年历设计专业电子信息工程班级姓名学号指导教师报告成绩信息工程学院二〇一四年六月十三日目录前言错误!未定义书签。
第一章设计要求错误!未定义书签。
1.1 基本要求错误!未定义书签。
1.2 提高要求错误!未定义书签。
第二章系统的组成和工作原理错误!未定义书签。
2.1 DSP TMS320 VC5509APGE芯片的工作原理错误!未定义书签。
2.2 LCD1602液晶显示器的工作原理6第三章主电路图及程序流程图73.1主电路图73.2程序总流程图73.3程序分块流程图8第四章软件程序设计94.1 程序94.2 调试与处理出现问题9第五章设计总结错误!未定义书签。
附录1:参考文献错误!未定义书签。
前言随着科技的不断发展,诞生了越来越多的电子产品。
比如手表,时钟等等,现在的钟表在功能设计上不断地完善,不仅仅可以显示时间(时分秒),而且可以显示年月日,星期几等等。
科技的发展离不开人类的不断努力,培养高科技人才是21世纪必做的事。
作为祖国的接班人更要努力学习好电子信息这门科技专业。
因此我们要不断的接触各种电子产品,加强对电子技术技术理论的掌握和实际的应用。
在本次的实验中,我们就以DSP芯片为核心控制电子钟,具有多项显示,用2812上的LCD液晶显示屏显示当前年、月、日、时、分、秒。
第一章设计要求本次课程设计要求设计一个万年历,利用DSPTMS320 VC5509APGE芯片控制,使用程序来控制时间的实时更新,当秒加到60时,分自动加1,当分加到60时,小时自动加1,当小时加到24,天加1,天加到30时,月加1,月加到12时,年加1,使用I602上的LCD液晶显示屏显示当前年、月、日、时、分、秒。
对现有器件进行简单地编程,实现各种简单地显示控制。
1.1设计目的1. 学习软件的安装,熟悉运用CCS v3.3软件,加强软件编程能力;2. 学习DSP芯片的I/O端口的控制方法;3. 了解1602字符液晶的使用功能4. 能够对现有器件进行简单地编程,实现各种简单地显示控制。
[《DSP原理及应用》课程实验报告](软、硬件实验)实验名称:[《DSP原理及应用》实验]专业班级:[ ]学生姓名:[ ]学号:[ ]指导教师:[ ]完成时间:[ ]目录第一部分.基于DSP系统的实验 (1)实验3.1:指示灯实验 (1)实验3.2:DSP的定时器 (3)实验3.5 单路,多路模数转换(AD) (5)第二部分.DSP算法实验 (13)实验5.1:有限冲击响应滤波器(FIR)算法实验 (13)实验5.2:无限冲激响应滤波器(IIR)算法 (17)实验5.3:快速傅立叶变换(FFT)算法 (20)第一部分.基于DSP系统的实验实验3.1:指示灯实验一.实验目的1.了解ICETEK–F2812-A评估板在TMS320F2812DSP外部扩展存储空间上的扩展。
2.了解ICETEK–F2812-A评估板上指示灯扩展原理。
1.学习在C语言中使用扩展的控制寄存器的方法。
二.实验设备计算机,ICETEK-F2812-A实验箱(或ICETEK仿真器+ICETEK–F2812-A系统板+相关连线及电源)。
三.实验原理1.TMS320F2812DSP的存储器扩展接口存储器扩展接口是DSP扩展片外资源的主要接口,它提供了一组控制信号和地址、数据线,可以扩展各类存储器和存储器、寄存器映射的外设。
-ICETEK–F2812-A评估板在扩展接口上除了扩展了片外SRAM外,还扩展了指示灯、DIP开关和D/A设备。
具体扩展地址如下:C0002-C0003h:D/A转换控制寄存器C0001h:板上DIP开关控制寄存器C0000h:板上指示灯控制寄存器详细说明见第一部分表1.7。
-与ICETEK–F2812-A评估板连接的ICETEK-CTR显示控制模块也使用扩展空间控制主要设备:108000-108004h:读-键盘扫描值,写-液晶控制寄存器108002-108002h:液晶辅助控制寄存器2.指示灯扩展原理3.实验程序流程图开始初始化DSP时钟正向顺序送控制字并延时四.实验步骤1.实验准备连接实验设备:请参看本书第三部分、第一章、二。
dsp综合设计课程设计报告一、教学目标本课程的教学目标是使学生掌握DSP(数字信号处理器)综合设计的基本理论和实践技能。
通过本课程的学习,学生应能够:1.知识目标:理解DSP的基本概念、原理和应用;熟悉DSP芯片的内部结构和编程方法;掌握DSP算法的设计和实现。
2.技能目标:能够使用DSP芯片进行数字信号处理的设计和实现;具备DSP程序的编写和调试能力;能够进行DSP系统的故障诊断和优化。
3.情感态度价值观目标:培养学生对DSP技术的兴趣和热情,提高学生的问题解决能力和创新意识,使学生认识到DSP技术在现代社会中的重要性和应用价值。
二、教学内容本课程的教学内容主要包括DSP的基本理论、DSP芯片的内部结构和工作原理、DSP程序的设计和调试方法、DSP应用系统的设计和实现等。
具体包括以下几个部分:1.DSP的基本概念和原理:数字信号处理的基本概念、算法和特点;DSP芯片的分类和特点。
2.DSP芯片的内部结构:了解DSP芯片的内部结构和工作原理,包括CPU、内存、接口、外设等部分。
3.DSP程序的设计和调试:学习DSP程序的设计方法,包括算法描述、程序编写和调试技巧。
4.DSP应用系统的设计和实现:掌握DSP应用系统的设计方法,包括系统架构、硬件选型、软件开发和系统测试等。
三、教学方法为了实现本课程的教学目标,我们将采用多种教学方法,包括讲授法、案例分析法、实验法等。
具体方法如下:1.讲授法:通过教师的讲解,使学生掌握DSP的基本理论和原理,引导学生理解DSP技术的核心概念。
2.案例分析法:通过分析具体的DSP应用案例,使学生了解DSP技术的实际应用,培养学生的实际操作能力。
3.实验法:通过实验操作,使学生熟悉DSP芯片的使用方法和编程技巧,提高学生的实践能力。
四、教学资源为了支持本课程的教学内容和教学方法的实施,我们将准备以下教学资源:1.教材:选择一本合适的教材,作为学生学习的基础资料,提供系统的DSP知识。
dsp图像处理课程设计一、教学目标本课程的教学目标是使学生掌握数字信号处理(DSP)图像处理的基本理论、方法和应用,培养学生运用所学知识解决实际问题的能力。
具体目标如下:1.知识目标:(1)了解图像处理的基本概念、原理和算法;(2)掌握DSP芯片的基本结构、工作原理和编程方法;(3)熟悉图像处理软件的开发环境和使用方法。
2.技能目标:(1)能够运用图像处理算法对图像进行增强、压缩、滤波等操作;(2)能够使用DSP芯片进行图像处理的硬件实现;(3)具备使用图像处理软件进行算法实现和性能评估的能力。
3.情感态度价值观目标:(1)培养学生的创新意识和团队合作精神;(2)增强学生对图像处理技术的兴趣和责任感;(3)引导学生关注图像处理技术在实际应用中的伦理和法律问题。
二、教学内容本课程的教学内容主要包括以下几个部分:1.图像处理基本概念:图像处理的基本概念、图像采样和量化、图像变换、图像增强、图像压缩等。
2.DSP芯片及其编程:DSP芯片的基本结构、工作原理、编程方法及应用实例。
3.图像处理算法实现:常用图像处理算法的原理和实现方法,如滤波、边缘检测、分割、特征提取等。
4.图像处理软件开发:图像处理软件的开发环境、编程语言及应用实例。
5.图像处理技术应用:图像处理技术在实际应用中的案例分析,如数字相机、手机摄像头、医学影像处理等。
三、教学方法为了实现本课程的教学目标,我们将采用以下教学方法:1.讲授法:通过讲解图像处理的基本概念、原理和算法,使学生掌握相关知识。
2.案例分析法:分析实际应用案例,使学生了解图像处理技术在实际工作中的应用。
3.实验法:通过实验操作,使学生熟悉DSP芯片的使用方法和图像处理软件的开发。
4.讨论法:学生进行小组讨论,培养学生的团队协作能力和创新思维。
四、教学资源为了保证本课程的顺利进行,我们将准备以下教学资源:1.教材:《数字信号处理(DSP)图像处理教程》等。
2.参考书:相关领域的学术论文、技术文档等。
一、课程设计的目的和要求1.1课程设计目的:本课程是DSP技术类课程配套的课程设计,要求学生通过高级语言或汇编语言编程实现较复杂的功能。
通过课程设计,使学生加深对DSP芯片TMS320C54x的结构、工作原理的理解,获得DSP应用技术的实际训练,掌握设计较复杂DSP系统的基本方法。
1.2课程设计要求1、认真查阅资料2、课程设计前认真预习3、遵守课程设计时间安排4、认真保质保量完成设计要求5、认真书写报告二、系统功能介绍及总体设计方案2.1 功能介绍随着信息技术和计算机技术的飞速发展,数字信号处理技术在众多领域得到广泛应用。
数字滤波器由于其精度高、稳定性好、使用灵活等优点,广泛应用在各种数字信号处理领域。
数字滤波器根据冲击响应函数的时域特性,可以分为FIR(有限长冲激响应滤波器)和IIR(无限长冲激响应滤波器) 。
FIR 滤波器与IIR 滤波器相比,具有严格的线性相位,幅度特性可任意等优点。
而且, FIR 滤波器的单位抽样响应是有限长的,故一定是稳定的,他又可以用快速傅里叶变换( FFT)算法来实现过滤信号,可大大提高运算效率。
本课程设计的是一个等波纹FIR 低通滤波器,其具体参数为:采样频率s F =1000Hz ,通带频率pass F =150Hz 截止频率stop F =250Hz ,通带衰减pass A =0.5dB 阻带衰减stop A =80dB 。
2.2 总体设计方案:先进行Matlab 程序设计产生待滤波数据(借助设计工具FDATOOL 产生设计系数),将其导入CCS ,在CCS 上进行仿真调试运行,得到了输入和输出的波形及其频谱。
图1 总体设计框图三、主要设计内容和步骤 3.1 FIR 数字滤波器的原理分析3.1.1 FIR 数字滤波器数字滤波器原理一般具有如下差分方程11()()()N N k k k k y n a x n k b y n k --===-+-∑∑ (l)式中()x n 为输入序列,()y n 为输出序列,k a 和k b 为滤波器系数,N 是滤波器阶数。
DSP课程设计报告DSP课程设计报告中国地质大学江城学院DSP课程设计报告DSP课程设计报告专业:姓名:学号:任课教师:年月日中国地质大学江城学院DSP课程设计报告一、实验内容编写程序,产生正弦波二、实验目的学会用ccs集成开发软件,在开发环境下完成工程项目创建,程序编辑,编译,链接,调试和数据分析。
三、实验设备(1)DSP实验箱(2)装有ccs20xx软件的电脑(3)DSP硬件仿真器四、实验程序代码正弦波形的汇编程序.title”sinx.asm”.mmregs.def_c_int00.refd_xs,d_sinx,d_xc,d_cosxsin_x:.usect”sin_x”,360STACK:.usect”S TACK”,10k_theta.set286PA0.set0_c_int00:.textSTM#STACK+10,SPSTM#0,AR1STMk_theta,AR0STM#sin_x,AR7STM#90,BRCRPTBloop1-1LDMAR1,ALD#d_xs,DPSTL A,@d_xsSTLA,@d_xcCALLsin_startCALLcos_startLD#d_sinx,DPLD@d_sinx,16,A MPYA@d_cosxSTHB,1,*AR7+MAR*AR1+0loop1:STM#sin_x+89,AR6STM#88,BRCRPTBl oop2-中国地质大学江城学院DSP课程设计报告LD*AR6-,ASTLA,*AR7+loop2:STM#179,BRCSTM#sin_x,AR6RPTBloop3-1LD*AR6+,A NEGASTLA,*AR7+loop3:NOPend:Bendsin_start:.defsin_startd_coef_ect”coef_s”,4.datatable_s:.word01C7H.word030BH.word0666H.word1556Hd_ect”sin_vars”,1d_squr_ect”sin_vars”,1d_temp_ect”sin_vars”,1d_ect”sin_vars”,1c_1_ect”sin_vars”,1.text SSBXFRCTSTM#d_coef_s,AR4RPT#3MVPD#table_s,*AR4+STM#d_coef_s,AR2STM#d_xs,AR3STM#c_1_s,AR5ST#7FFFH,c _1_sSQUR*AR3+,ASTA,*AR3||LD*AR5,BMASR*AR3+,*AR2+,B,AMPYAASTHA,*AR3MASR*AR3-,*AR2+,B,AMPYA*AR3+STB,*AR3||LD*AR5,BMASR*AR3-,*AR2+,B,AMPYA*AR3+中国地质大学江城学院DSP课程设计报告STB,*AR3+||LD*AR5,BMASR*AR3-,*AR2+,B,AMPYAd_xsSTHB,d_sinxRETcos_start:.defcos_startd_coef_ect”coef_c”,4.datatable_c:.word0249H.word0444H.word0AABH.word4000Hd_ect”cos_vars ”,1d_squr_ect”cos_vars”,1d_temp_ect”cos_vars”,1d_cosx.u sect”cos_vars”,1c_1_ect”cos_vars”,1.textSSBXFRCTSTM#d_coef_c,AR4RPT#3MVPD#table_c,*AR4+STM#d_coef_c,AR2STM#d_xc,AR3STM#c_1_c,AR5ST#7FFFH,c _1_cSQUR*AR3+,ASTA,*AR3||LD*AR5,BMASR*AR3+,*AR2+,B,AMPYAASTHA,*AR3MASR*AR3-,*AR2+,B,AMPYA*AR3+STB,*AR3||LD*AR5,BMASR*AR3-,*AR2+,B,ASFTAA,-1,ANEGAMPYA*AR3+MAR*AR3+RETD中国地质大学江城学院DSP课程设计报告ADD*AR5,16,BSTHB,*AR3RET.end正弦波形的链接程序MEMORY{PAGE0:EPROM:org=0E000H,len=1000HVECS:org=0FF80H,len=0080HPAGE1:SPRAM:org=0060H,len=0020HDARAM1:org=0080H,len=0010HDARAM2:org=0090H,l en=0010HDARAM3:org=0200H,len=0200H}SECTIONS{.text:>EPROMPAGE0.data:>EPROMPAGE0STACK:>SPRAMPAGE1sin_vars:>DARAM1P AGE1coef_s:>DARAM1PAGE1cos_vars:>DARAM1PAGE1coef_c:>DARAM2PAGE1sin_x:align(512){}>DARAM3PAGE1.vetors:>VECSPAGE0}复位向量文件vectors.asm.title”vectors.asm”.ref_c_int00.sect”.vectors”B_c_int00.end五、实验步骤CCS软件的基本操作:(1)建立工程:点击菜单project-new,在弹出的窗口中输入工程名,后缀是.pjt;(2)建立文件:点击菜单file-new-sourcefile,建立汇编语言文件和链接命令文件;(3)将文件加入工程:点击菜单project-addfilestoproject,选择要加入的文件添加到工程;(4)工程的汇编链接:点击菜单project-rebuildall,若汇编链接成功会生成.out文件;(5)装载可执行程序:点击菜单file-lodeprogram,装载.out文件;(6)执行程序:点击菜单debug-run;(7)观察结果。
实验四利用DSP实现图像的缩放一、实验目的实验一“DSP图像采集与传输”工程已经给出了完整的图像采集与显示程序,介绍了将模拟图像采集为数字图像并进行显示的方法,以及DSP系统各硬件资源和功能模块的作用。
本实验的重点是利用DSP C语言实现图像的灰度处理,通过该实验,掌握利用DSP 进行图像灰度处理的方法,掌握外部存储器接口(EMIFA)的原理和初始化编程。
1.了解图像缩放算法的基本原理。
2. 掌握外部存储器接口(EMIFA)的原理和初始化编程。
3. 掌握利用DM642实现图像缩放的方法。
二、实验原理在计算机图像处理中,图像缩放是指对数字图像的大小进行调整的过程。
图像缩小又称为下采样(subsampled)或降采样(downsampled),主要目的是使图像符合显示区域的大小,生成对应图像的缩略图。
图像放大又称为上采样(upsampling)或图像插值(interpolating)。
图像的缩放操作将影响图像的质量。
图像放大可以有很多种算法,如最近领域插值和双线性插值,其中双线性插值的效果较最近领域插值显得平滑。
缩小图像方法如近邻取值法和局部平均取值法等。
假设图像x轴方向缩放比率是f x,y轴方向缩放比率是fy,那么原图中点(x0,y0)对应与新图中的点(x1,y1)的转换矩阵为:其逆运算如下:三、Matlab实现图像缩放Matlab提供函数imresize()进行图像缩放,一个简单的图像缩放的Matlab程序如下。
% resizepic.mI = imread('lena.bmp');J = imresize(I,0.5, 'nearest');%图像缩放,缩放系数为0.5。
'nearest'邻近取值法,'bilinear'是双线性取值法,'bicubic'局部平均取值法。
figure(1);imshow(I); %显示原图像title('原始图像');figure(2);imshow(J); %显示经缩放的图像title('经缩放的图像');在Matlab 中运行该程序,生成图像如图7-4-1所示。
我不应把我的作品全归功于自己的智慧,还应归功于我以外向我提供素材的成千成万的事情和人物!——采于网,整于己,用于民2021年5月12日dsp实验报告总结篇一:dsp课程设计实验报告总结DSP课程设计总结(XX-XX学年第2学期)题目:专业班级:电子1103 学生姓名:万蒙学号:指导教师:设计成绩:XX 年6 月目录一设计目的----------------------------------------------------------------------3 二系统分析----------------------------------------------------------------------3 三硬件设计3.1 硬件总体结构-----------------------------------------------------------3 3.2 DSP模块设计-----------------------------------------------------------4 3.3 电源模块设计----------------------------------------------------------4 3.4 时钟模块设计----------------------------------------------------------5 3.5 存储器模块设计--------------------------------------------------------6 3.6 复位模块设计----------------------------------------------------------6 3.7 JTAG模块设计--------------------------------------------------------7 四软件设计4.1 软件总体流程-----------------------------------------------------74.2 核心模块及实现代码---------------------------------------8五课程设计总结-----------------------------------------------------14一、设计目的设计一个功能完备,能够独立运行的精简DSP硬件系统,并设计简单的DSP控制程序。
课程设计任务书成绩评定表摘要以TMS32C5501为例,介绍了其系列DSP(digital signal processing)芯片HPI(host port interface)口的各个组成部分及其功能,并以AT89C51单片机作为主处理机,阐述了与TMS320C5501之间实现数据共享的方法,成功地解决了主处理机通过HPI接口对DSP 内部数据进行在线修改和实时监控的问题。
最后给出了如何用HPI口实现程序的加载引导,以提高程序运行速度的方法。
关键词:TMS320C5501,DSP,HPI口;目录绪论....................................................................................... 错误!未定义书签。
1、基本原理 (2)1.1 数字图像处理常用方法 (2)1.2 数字图像处理的优点 (3)1.3 数字图像缩小基本原理 (4)2、TMS320C5X的硬件结构 (4)2.1 C55X的CPU体系结构 (5)2.2 指令缓冲单元(I) (5)2.3 指令缓冲单元(P) (5)2.4 指令缓冲单元(A) (6)2.5 指令缓冲单元(D) (6)3、数字图像缩小设计方法 (8)3.1 设计思路 (8)3.2 实验步骤 (8)4、数字图像缩小的CCS实现 (10)4.1 简述CCS环境 (10)4.1.1 CCS主要特点 (10)4.1.1 DSP/BIOS和API函数以及RTDX插件 (9)4.2 CCS配置 (10)4.3 CCS环境中工程文件的使用 (10)4.3.1 建立工程文件 (10)4.3.2 创建新文件 (13)4.3.3 向工程项目中添加文件 (13)4.4编译链接和运行目标文件 (14)4.4.1对程序进行编译链接 (14)4.4.2装载OUT文件 (14)5运行结果 (14)结论 (15)附录程序清单 (23)参考文献 (24)1、课题分析DSP作为一种先进的可编程处理器,近几年来应用极其广泛。
一、课程设计的目的和要求1.1课程设计目的:本课程是DSP技术类课程配套的课程设计,要求学生通过高级语言或汇编语言编程实现较复杂的功能。
通过课程设计,使学生加深对DSP芯片TMS320C54的结构、工作原理的理解,获得DSP应用技术的实际训练,掌握设计较复杂DSP系统的基本方法。
1.2课程设计要求1、认真查阅资料2、课程设计前认真预习3、遵守课程设计时间安排4、认真保质保量完成设计要求5、认真书写报告二、系统功能介绍及总体设计方案2.1 功能介绍随着信息技术和计算机技术的飞速发展, 数字信号处理技术在众多领域得到广泛应用。
数字滤波器由于其精度高、稳定性好、使用灵活等优点, 广泛应用在各种数字信号处理领域。
数字滤波器根据冲击响应函数的时域特性, 可以分为FIR (有限长冲激响应滤波器)和IIR(无限长冲激响应滤波器)。
FIR滤波器与IIR 滤波器相比,具有严格的线性相位,幅度特性可任意等优点。
而且, FIR 滤波器的单位抽样响应是有限长的, 故一定是稳定的, 他又可以用快速傅里叶变换(FFT)算法来实现过滤信号,可大大提高运算效率。
本课程设计的是一个等波纹FIR 低通滤波器,其具体参数为:采样频率F s=1000Hz,通带频率F pass=150Hz截止频率F sg=250Hz,通带衰减A pass =0.5dB阻带衰减A stop=80dB。
2.2 总体设计方案:先进行Matlab 程序设计产生待滤波数据(借助设计工具FDATOOL 产生设计系数),将其导入CCS在CCS!进行仿真调试运行,得到了输入和输出的波形及其频谱。
三、主要设计内容和步骤3・1 FIR 数字滤波器的原理分析3.1.1FIR 数字滤波器数字滤波器原理一般具有如下差分方程N AN -1y(n) f a k X( n- k) 、b k y( n-k)k z 0k =0式中x(n)为输入序列,y(n)为输出序列,兔和b k 为滤波器系数,N 是滤波器阶N J数。
成都理工大学工程技术学院课程设计目录第一章概述 (3)1.1、项目背景 (3)1.2、研究进展 (3)1.3、研究目的 (3)1.4 小结 (3)第二章总体设计及关键技术分析 (3)2.1、理论基础 (3)2.2、理论分析 (4)2.3、设计流程图 (4)2.4、流程图说明 (5)2.5、小结 (5)第三章程序实现 (5)3.1、基于CCS平台实现的算法程序 (6)3.2、基于MATLAB平台实现算法的程序 (8)第四章结束语 (9)第五章参考文献 (10)第一章概述1.1、项目背景1.2、研究进展现在数字图像处理是越来越成熟,我们选择用DSP来缩放图像。
一步步的学习并掌握了DSP对图像的基本方法。
对于在DSP中,对图形处理的算法还有语言都是我们学习掌握的重点。
在实际的课程设计中,我虽然有太多不懂的地方,但我们通过查资料,都一一的的解决了。
我们所编写的程序也达到了一起的效果,能将图像放大缩小。
1.3、研究目的1、熟练地的掌握CCS的软件应用2、熟练地掌握MA TLAB和DSP对于图像处理的方法3、对于数字图像的处理的学习打下基础4、小结对于数字图像处理还有许多地方需要我们去学习。
第二章总体设计及关键技术分析2.1、理论基础本实验是基于DSP数字信号处理器的实验。
在计算机图像处理中,图像缩放是指对数字图像的大小进行调整的过程。
而图像缩小又称为下采样或降采样,主要目的使图像符合显示区域的大小,生成对应图像的缩略图。
图像放大又称为上采样或或图像插值。
图像的缩放将影响图像的质量,图像的放可以有很多种算法。
如最近领域插值和双线性插值,其中双线性插值的效果较最近领域插值显得平滑。
缩小的图像的方法如近邻取值法和局部平均取值法等。
图像缩放是一种非平凡的过程需要在处理效率以及结果的平滑度和清晰度上做一个权衡。
当一个图像的大小增加之后组成图像的像素的可见度将会变得更高从而使得图像表现得“软”。
相反地缩小一个图像将会增强它的平滑度和清晰度。
假设图像x轴方向缩放比率是a,y轴方向缩放比率是b,那么原图中点(x0,y0)对应与新图中的点(x1,y1)的转换矩阵为:2.2、理论分析图像的缩放是对图像进行的一种几何运算,用以改变图像的大小。
在处理图像的过程中,图像中每个像素的值都要发生变化,数字图像的坐标值是整数,经过这些变换后的坐标不一定是整数,所以要对变换后的整数坐标位置的像素值进行估计。
图像的插值,插值是常用的数学运算,通常是利用曲线拟合的方法,通过离散的点建立一个连续函数来逼近真实曲线。
在视频显示任务的循环中,程序首先将视频数据从输入缓冲区读入自己开设的临时图像处理缓冲区,再在临时图像处理缓冲区上进行处理,对图像进行缩放运算,处理后的数据再输出到输出缓冲区。
2.3、设计流程图2.4、流程图说明行变量初值为0,行像素变量初值为0,那么计算像素点的水平缩放及垂直缩放(即图像的放大或缩小)。
判断像素是否在原图范围内,如果不在就将像素的亮点先赋值0xFF,在就计算像素点的亮度信号,让行像素变量增1。
当行像素的变量值达到最大就行变量增1,如果没有达到最大就继续前面的过程。
当行变量值没有达到最大就从行像素变量初值0从新执行,达到最大就结束整个过程。
2.5、小结对于该实验我们小组认认真真的去查资料,有什么不懂的地方就去问老师和同学。
我们是经过许多的努力终于完成了实验。
DSP对图像的缩小程序首先将数据从输入缓冲区读入自己开设的临时图像处理缓冲区,再在临时图像处理缓冲区上进行处理,对图像进行缩放运算,处理后的数据再输出到输出缓冲区。
第三章程序实现3.1、基于CCS平台实现的算法程序Image.c程序#define IMAGEWIDTH 80#define IMAGEHEIGHT 80#define MODEGRAYBAR 0#define MODEGRAY 1#define MODEPHOTO1 2#define MODEPHOTO2 3#define MODEPHOTO3 4#define MODEPHOTO4 5void InitImage(unsigned int nMode,unsigned char *pImage,int nWidth,int nHeight);unsigned char dbImage[IMAGEWIDTH*IMAGEHEIGHT];unsigned char dbTargetImage[IMAGEWIDTH*IMAGEHEIGHT];/* 直方图统计实验程序*/int main(){InitImage(MODEGRAYBAR,dbImage,IMAGEWIDTH,IMAGEHEIGHT);Reverse(IMAGEWIDTH,IMAGEHEIGHT);InitImage(MODEGRAY,dbImage,IMAGEWIDTH,IMAGEHEIGHT); //BreakPoint Reverse(IMAGEWIDTH,IMAGEHEIGHT);InitImage(MODEPHOTO1,dbImage,IMAGEWIDTH,IMAGEHEIGHT); //BreakPointReverse(IMAGEWIDTH,IMAGEHEIGHT);InitImage(MODEPHOTO2,dbImage,IMAGEWIDTH,IMAGEHEIGHT); //BreakPointReverse(IMAGEWIDTH,IMAGEHEIGHT);InitImage(MODEPHOTO3,dbImage,IMAGEWIDTH,IMAGEHEIGHT); //BreakPointReverse(IMAGEWIDTH,IMAGEHEIGHT);InitImage(MODEPHOTO4,dbImage,IMAGEWIDTH,IMAGEHEIGHT); //BreakPointReverse(IMAGEWIDTH,IMAGEHEIGHT);while (1); //BreakPoint}IntImage.c文件include<stdio.h>#define MODEGRAYBAR 0#define MODEGRAY 1#define MODEPHOTO1 2#define MODEPHOTO2 3#define MODEPHOTO3 4#define MODEPHOTO4 5#define MODEBLOCK 6#define MODEINCLINE 7#define MODEFPHOTO 8#define GRAYBARLEVEL 16void ReadImage(unsigned char *pImage,char *cFileName,int nWidth,int nHeight);void InitImage(unsigned int nMode,unsigned char *pImage,int nWidth,int nHeight){int x,y,nWork,nWork1;unsigned char *pWork;int nPointx=nWidth/2;int nPointy=nHeight/2;float fWork;switch ( nMode ){case MODEGRAYBAR:pWork=pImage; nWork=256/GRAYBARLEVEL; nWork1=nHeight/GRAYBARLEVEL;for ( y=0;y<nHeight;y++ ){for ( x=0;x<nWidth;x++,pWork++ ){(*pWork)=(y/nWork1)*nWork;}}break;case MODEGRAY:pWork=pImage;nWork1=nHeight-nPointy; nWork=nWork1*nWork1;nWork1=nWidth-nPointx; nWork+=(nWork1*nWork1);nWork/=256;for ( y=0;y<nHeight;y++ ){for ( x=0;x<nWidth;x++,pWork++ ){nWork1=(x-nPointx)*(x-nPointx)+(y-nPointy)*(y-nPointy);nWork1=255-nWork1/nWork;if ( nWork1<0 ) nWork1=0;else if ( nWork1>255 ) nWork1=255;(*pWork)=nWork1;}}break;case MODEPHOTO1:ReadImage(pImage,"..\\DSP.bmp",nWidth,nHeight);break;case MODEPHOTO2:ReadImage(pImage,"..\\1.bmp",nWidth,nHeight);break;case MODEPHOTO3:ReadImage(pImage,"..\\2.bmp",nWidth,nHeight);break;case MODEPHOTO4:ReadImage(pImage,"..\\3.bmp",nWidth,nHeight);break;case MODEBLOCK:pWork=pImage;for ( y=0;y<nHeight;y++ )for ( x=0;x<nWidth;x++,pWork++ )(*pWork)=0;pWork=pImage+(nHeight/4-1)*nWidth;for ( y=nHeight/4;y<nHeight*3/4;y++,pWork+=nWidth )for ( x=nWidth/4;x<nWidth*3/4;x++ )pWork[x]=255;break;case MODEINCLINE:pWork=pImage;for ( y=0;y<nHeight;y++ )for ( x=0;x<nWidth;x++,pWork++ )(*pWork)=0;pWork=pImage;fWork=nWidth/nHeight;for ( y=0;y<nHeight/4;y++ )for ( x=nWidth/2-fWork*y;x<nWidth/2+fWork*y;x++ ){pWork[(y+nHeight/4)*nWidth+x]=255;pWork[(nHeight*3/4-y-1)*nWidth+x]=255;}break;case MODEFPHOTO:ReadImage(pImage,"..\\fourier.bmp",nWidth,nHeight);break;default:break;}}void ReadImage(unsigned char *pImage,char *cFileName,int nWidth,int nHeight) {int j;unsigned char *pWork;FILE *fp;if ( fp=fopen(cFileName,"rb" ) ){fseek(fp,1078L,SEEK_SET);pWork=pImage+(nHeight-1)*nWidth;for ( j=0;j<nHeight;j++,pWork-=nWidth )fread(pWork,nWidth,1,fp);fclose(fp);}}Reverse.c文件#define IMAGEWIDTH 80#define IMAGEHEIGHT 80extern unsigned char dbImage[IMAGEWIDTH*IMAGEHEIGHT];extern unsigned char dbTargetImage[IMAGEWIDTH*IMAGEHEIGHT];int mi,mj;unsigned int m_nWork;unsigned char *pImg,*pImg1;float step=0;void Reverse(int nWidth,int nHeight,float amp){pImg=dbImage; pImg1=dbTargetImage;for ( mj=0;mj<nHeight; ){for ( mi=0;mi<nWidth;pImg1++ ){(*pImg1)=((*pImg));step+=(1/amp);if(step>=1){pImg+=(int)step;mi+=(int)step;step=0;}}step+=(1/amp);if(step>=1){pImg+=((int)step-1)*nWidth;mj+=(int)step;step=0;}}}以上就是CCS中的程序。