基于DSP的图像旋转讲解

基于DSP的图像旋转讲解
基于DSP的图像旋转讲解

基于DSP的图像旋转

1 概述

DSP芯片是一种高性能的微处理器,其技术发展大大推动了数字信号技术的发展与应用,目前从工业系统到家电产品,从军事装备到生物医学仪器,无不融入了DSP技术。由于计算机处理能力的不断增强,数字图像处理学科在飞速发展的同时,也越来越广泛地向许多其他学科快速交叉渗透,使得图像作为信息获取以及信息的利用等方面的作用也变得越来越重要。

21世纪是数字化的时代,数字信号处理由于运算速度快,具有可编程特性和接口灵活的特点,使得它在许多电子产品的研制、开发和应用中,发挥着重要的作用。随着越来越多的电子产品将数字信号处理(DSP)做为技术核心,DSP已经成为推动数字化进程的动力。作为数字化最重要的技术之一,DSP无论在其应用的深度还是广度,正在以前所未有的速度向前发展。近年来,DSP技术在我国也得到了迅速的发展,不论是在科学技术研究,还是在产品的开发等方面,在数字信号处理中,其应用越来越广泛,并取得了丰硕的成果。数字滤波占有极其重要的地位。数字滤波是语音和图像处理、模式识别、谱分析等应用中的一个基本处理算法。

在许多信号处理应用中用数字滤波器替代模拟滤波器具有许多优势。数字滤波器容易实现不同的幅度和相位频率特性指标,克服了与模拟滤波器器件性能相关的电压漂移、温度漂移和噪声问题。用DSP芯片实现数字滤波除了具有稳定性好、精确度高、不受环境影响外,还具有灵活性好的特点。用可编程DSP芯片实现数字滤波可通过修改滤波器的参数十分方便的改变滤波器的特性。几乎每一科学和工程领域例如声学、物理学、通信、数据通信、控制系统和雷达等都涉及信号。在许多应用中都希望根据期望的指标把一个信号的频谱加以修改、整形或运算。这些过程都可能包含衰减一个频率范围,阻止或隔离一些频率成分,用数字滤波器来实现这些功能是方便、有效、可行的。

本文主要表述利用TI公司TMS320C55x芯片的资源特点,在设计中借助Code Composer Studio v3.3中以TMS320C55x芯片的汇编语言编程实现了数字图像的旋转,进行高效图像旋转的大规模数据调度,从而实现适用于图像的DSP

实时图像旋转。

2 设计任务及目的

2.1设计任务

⑴实现一路模拟视频信号的采集与显示;

⑵实现单帧图像的旋转(90、180任选);

⑶图像采用120*96点像素,由SDRAM中的722*228存储图像采样生成;

⑷手动设置CMD文件,保证程序的正确运行。

2.2 设计目的

图像旋转是一种应用广泛的数字图像处理技术,随着应用水平的不断提高,对在嵌入式系统中实现高分辨率大图像旋转的需求也越来越高。如在航空领域的高分辨率数字地图图像的显示处理过程中,由于现有的显示芯片均不能支持图像旋转功能,就需要在资源有限的嵌入式平台上实现大幅面地图图像的实时旋转。采用DSP平台是一种实现方式,具体实现时需仔细考虑两个方面的问题,一是选用计算量小的旋转算法,二是充分发挥DSP平台强大的并行计算能力。

通过本次DSP项目,掌握TMS320C5509芯片的特点,了解数字图像处理的原理,熟悉DSP命令及所用开发软件和工具箱的使用方法,学习巩固DSP基础知识。

3 设计原理

本图像旋转项目利用的是平面坐标点旋转变换原理,平面坐标点旋转变换即平面上绕它上面一点O整体旋转。坐标系原点的位置为左上,y轴向下为正方向,x轴向右为正方向,顺时针旋转角度为正,若任意一点A(ax,ay),按旋转中心点(x,y)旋转任意角度θ度后A'(xA’,yA’)的坐标计算公式如下所示:xA`=x+(ax-x)cosk-(ay-y)sinθ

yA`=y+(ax-x)sink+(ay-y)cosθ

这就是平面坐标点旋转变换公式,其旋转角为θ,任何一个矢量的旋转都可以看成两个分量的各自旋转后,然后累加结果。至于旋转心不在原点上,可以把旋转心看成临时原点,进行相对量的旋转,然后再加上与真正原点的相对量即可。

根据旋转变换公式,借助Code Composer Studio v3.3中以TMS320C55x芯片的汇编语言编程,来将图像像素点坐标变换到旋转后对应的坐标位置上,最后显示生成旋转后的图像。但由于变换过程中根据公式计算结果,部分像素点旋转变换后的坐标值为小数,必须对其四舍五入取整,故在图像旋转后部分旋转角度下图像的某些像素点会丢失,造成图像中有灰黑斑点,但在±90°,180°情况下图像完全正常。

由上所述,结合其他知识可编图像旋转程序如下:

xData =(IMGWIDTH/2-1)+(long)((float)(x-(IMGWIDTH/2-1))*cos(theta)-(float) (i-(IMGHEIGHT/2-1))*sin(theta)+0.50);

yData = (IMGHEIGHT/2-1)+(long)((float)(x-(IMGWIDTH/2-1))*sin(theta)+(float) (i-(IMGHEIGHT/2-1))*cos(theta)+0.50);

y[xData][yData] = buffer[i*xsample+xstart]; //y[IMGWIDTH][IMGHEIGHT]

4 软件程序设计

4.1 程序流程图

开始

初始化程序

复位FIFO读写指针

清空图像数组

采集图像(722*288)

抽样图像(120*96)并进行

图像旋转变换

存入数组

结束

图1 程序流程图

4.2 初始化程序

void CLK_init( unsigned int nPLL )//时钟初始化

{

ioport unsigned int *clkmd;

clkmd=(unsigned int *)0x1c00;

*clkmd =nPLL;// 0x2033;//0x2413;// 144MHz //2613

}

void EMIF_init(void)//外部存储器接口

{

ioport unsigned int *CE21 = (unsigned int *)0x809;

*CE21 =0x1fff;

}

void TMCR_reset( void )

{

ioport unsigned int *TMCR_MGS3=(unsigned int *)0x07FE;

ioport unsigned int *TMCR_MM =(unsigned int *)0x07FF;

*TMCR_MGS3 =0x510;

*TMCR_MM =0x000;

}

void SDRAM_init( void )//定义SDRAM引脚,以及控制寄存器时,并进行初始化{

ioport unsigned int *ebsr =(unsigned int *)0x6c00;

ioport unsigned int *egcr =(unsigned int *)0x800;

ioport unsigned int *emirst=(unsigned int *)0x801;

ioport unsigned int *ce01 =(unsigned int *)0x803;

ioport unsigned int *ce11 =(unsigned int *)0x806;

ioport unsigned int *ce21 =(unsigned int *)0x809;

ioport unsigned int *ce31 =(unsigned int *)0x80C;

ioport unsigned int *sdc1 =(unsigned int *)0x80F;

ioport unsigned int *init =(unsigned int *)0x812;

ioport unsigned int *sdc2 =(unsigned int *)0x813;

*ebsr = 0x221;//0xa01

*egcr = 0x200;

*egcr = 0X220;

*ce01 = 0X3000;

*ce11 = 0X3fff;

*ce21 = 0x1fff;

*ce31 = 0x1000;

*emirst = 0;

*sdc1 = 0X5958;

*sdc2 = 0X38F;

*init = 0;

}

4.3 主程序

ioport unsigned int * sysR = (unsigned int *)0x7fd;

#define IDKCCMDRESET 2

#define IDKCCMDCAPTURE 4

#define IDKCCMDRESETRP 8

#define IDKCCMDRESETWP 0x10

#define IDKCCMDCOLOR 0x20

#define IDKIMGREADY 2

//ICETEK-TVP5150-E板控制寄存器定义

#define IDKCCTRGR (*(unsigned short int *)0x601800) #define IDKCDATA (*(unsigned char *)0x601802)

#define IDKCI2CR (*(unsigned short int *)0x601804)

#define IDKCSTATUS (*(unsigned short int *)0x601806) #define I2C_REG (*(unsigned short int *)0x601804)

#define CREG (*(unsigned short int *)0x400004)

void Delay(unsigned int nTime);//延时

void StartIIC(void); //启动I2C总线传输

void StopIIC(void); //结束I2C总线传输

void AckIIC(void);

void WriteIIC(unsigned char data);//I2C总线传送控制字节void Init5150(void); //初始化ICETEK-TVP5150-E板void DelayMSEC(unsigned int nDelay);//延时

void Close5150(void);//关闭ICETEK-TVP5150-E板

#define VIDEOWIDTH 720//摄像头采集图像宽度

#define VIDEOHEIGHT 288//摄像头采集图像高度

#define IMGWIDTH 120//选取图像宽度

#define IMGHEIGHT 120/选取图像高度

#define XSTART 0//选取图像x方向起始点

#define YSTART 0//选取图像y方向起始点

#define XSAMPLE 6//x方向采集率

#define YSAMPLE 2.4//y方向采集率

#define IMGBUFFER 0x200000

#define phi 360//选择要旋转的角度

#define theta (phi/180.0*acos(-1))//

unsigned int *www;

unsigned int buffer[724],y[IMGWIDTH][IMGHEIGHT]; FARPTR lpImage,pImage;

main()

{

long int i,j,x,xx;

int c,xstart,ystart,xsample,ysample;

unsigned char cWork,ccc;

long xData,yData;

pImage=lpImage=IMGBUFFER;

c=0;

for ( j=0;j

{

for ( i=0;i

y[j][i]=0;//y变量赋初值

}

SDRAM_init();

CLK_init(0x21f3);//设置DSP时钟

CREG=1; //使能外部总线接口,选择储存器是SDRAM xsample=XSAMPLE; //横向抽样率

ysample=YSAMPLE; //纵向抽样率

xstart=XSTART; //起始象素

ystart=YSTART; //起始行

(*sysR)=2;

Init5150(); //初始化ICETEK-TVP5150-E

CLK_init(0x22d3); //提高DSP运行速度

(*sysR)=0;

while(1)

{

if(xx)//通过控制FIFO读取图像

{

IDKCCTRGR=IDKCCMDRESET; //复位ICETEK-TVP5150-E

Delay(16);

IDKCCTRGR=0;

Delay(16);

IDKCCTRGR=IDKCCMDRESETWP;//复位FIFO写指针

Delay(16);

IDKCCTRGR=IDKCCMDCAPTURE; //开始采集图象

Delay(20);

IDKCCTRGR=0;

Delay(20);

}

x=0;

IDKCCTRGR=IDKCCMDRESETRP;

Delay(20);

IDKCCTRGR=0;

Delay(20);

cWork=IDKCDA TA;

Delay(20);

x=0;

for ( i=0;i<724;i++ )buffer[i]=0;

for ( i=0;i

for ( j=0;j

cWork=IDKCDA TA;

cWork=IDKCDA TA;

for ( i=0;i

{

cWork=IDKCDA TA;

buffer[i]=cWork;//将像素存入buffer缓存

far_poke(lpImage++,cWork);//向扩展存储器地址写入一个整数

}

if ( x=ystart &&(j%ysample==0) ) // 抽样生成120x96尺寸图象

{

for ( i=0;i

{

xData = (IMGWIDTH/2-1)+(long)((float)(x-(IMGWIDTH/2-1))*cos(theta)-(float)(i-(IMGHEIGHT/2-1))* sin(theta)+0.50);

yData = (IMGHEIGHT/2-1)+(long)((float)(x-(IMGWIDTH/2-1))*sin(theta)+(float)(i-(IMGHEIGHT/2-1)) *cos(theta)+0.50);

if((xData >= 0)&&(xData <= (IMGWIDTH-1))&&(yData >= 0)&&(yData <= (IMGHEIGHT -1)))

{

y[xData][yData] = buffer[i*xsample+xstart];//将抽样后的图像存入缓存y

}

}

x++;

}

}

ccc=IDKCSTATUS;

x=0; // BREAK POINT 在此加软件断点

}

}

void StartIIC(void)

{

I2C_REG = 0x05; /* "00100101":sda,scl = '1' */

DelayMSEC(1);

I2C_REG = 0x04; /* "00100100":sda= '0',scl = '1' */

DelayMSEC(1);

}

void StopIIC(void)

{

I2C_REG = 0x024; /* "00100101":sda = '0',scl = '1' */

DelayMSEC(1);

I2C_REG = 0x025; /* "00100101":sda,scl = '1' */

DelayMSEC(1);

}

void AckIIC(void)

{

I2C_REG = 0x020; /* "00100101":sda='z',scl = '0' */ I2C_REG = 0x022; /* "00100101":sda='z',scl = '0' */ DelayMSEC(1);

I2C_REG = 0x026; /* "00100101":sda='z',scl = '1' */ DelayMSEC(1);

I2C_REG = 0x022; /* "00100101":sda='z',scl = '0' */ DelayMSEC(1);

I2C_REG = 0x021; /* "00100101":sda='1',scl = '0' */ DelayMSEC(1);

}

void WriteIIC(unsigned char data)

{

unsigned char BitCounter = 8;

unsigned char Temp;

unsigned int reg_val;

reg_val = 0x020;

I2C_REG = 0x20; /*SCL 置低sda 置低*/

DelayMSEC(1); /*延时*/

do{

Temp = data;

reg_val &= 0x0fffffffb;

I2C_REG = reg_val; /*SCL 置低*/

DelayMSEC(1); /*延时*/

if((Temp&0x80)==0x80)

reg_val |= 0x01; /*如果最高位是1*/

else

reg_val &= 0x0fffffe;

I2C_REG = reg_val; /*设置SDA*/

DelayMSEC(1); /*延时*/

reg_val |= 0x004;

I2C_REG = reg_val; /*SCL 置高*/

DelayMSEC(1); /*延时*/

Temp = data<<1;

data = Temp;

BitCounter --;

}while(BitCounter);

reg_val &= 0x0fffffffb;

I2C_REG = reg_val; /*SCL 置低*/

DelayMSEC(3); /*延时*/

}

void Init5150(void) //使用TVP5150作为图像解码芯片,IIC总线控制{

StartIIC();

WriteIIC(0x0ba);

AckIIC();

WriteIIC(0x03);

AckIIC();

WriteIIC(0x08f);

AckIIC();

WriteIIC(0x06); // y only

AckIIC();

WriteIIC(0x010);

AckIIC();

StopIIC();

DelayMSEC(10);

}

void DelayMSEC(unsigned int nDelay)

{

unsigned int i,k;

for ( i=0;i

{

k++;

}

}

4.4 命令文件

-w

-stack 500

-sysstack 500

-l rts55x.lib

MEMORY ;用来指定目标储存器结构

;命名一个存储空间范围

;o指定存储段的开始地址

;l指定存储段的长度

{

DARAM: o=0x100, l=0x7f00

VECT: o=0x8000, l=0x100

DARAM2: o=0x8100, l=0x7f00

SARAM: o=0x10000, l=0x10000

SDRAM: o=0x40000, l=0x3e0000

}

SECTIONS ;用来控制段的构成与地址分配

;定义用来填充未初始化空间的值

{

.text: {} > DARAM ;存放程序代码

.vectors: {} > VECT

.trcinit: {} > DARAM

.gblinit: {} > DARAM

frt: {} > DARAM

.cinit: {} > DARAM ;存放程序中的变量初值和常量

.pinit: {} > DARAM

.sysinit: {} > DARAM

.bss: {} > SDRAM ;为程序中的全局和静态变量保留存储空间

.far: {} > DARAM2 ;为程序中用far声明的全局和静态变量保留空间

.const: {} > DARAM2 ;存放程序中的字符常量、浮点常量和用const声明的变量.switch: {} > DARAM2 ;存放程序中switch语句的跳转地址表

.sysmem: {} > DARAM2 ;用于程序中的malloc、calloc和realoc函数动态分配存储空间(C语言的堆)

.cio: {} > DARAM2

.MEM$obj: {} > DARAM2

.sysheap: {} > DARAM2

.sysstack {} > DARAM2

.stack: {} > DARAM2 ;为程序系统堆栈保留存储空间,用于保存返回地址、函数间的参数传递、存储局部变量和保存中间结果(C语言的栈)

.image: {} > SDRAM

}

5 程序调试运行

5.1 程序测试流程图

图2 程序测试流程图

5.2 程序测试

⑴配置CCS 3.3软件,芯片选择C5509A XDS510 Emulator,安装好驱动程序后连接到ICETEK DSP教学试验箱,打开目标程序工程文件。

⑵编译已经编写成功的程序,编译成功后在合适位置添加软件断点,如图3所示:

图3 添加程序断点

⑶导入并执行.out文件,采集图像,如图4所示:

图4 执行.out文件

⑷设置旋转后图像参数,如图5:

图5 设置参数

⑸显示旋转后图像,并修改不同旋转角度,并记录结果如下:

图6 原图

图7 顺时针旋转90度

图8 逆时针旋转90度

图9 顺时针旋转180度

修改旋转角度,调整图像旋转,然后观察旋转后生成的图像,并用其与原图像相比。从结果中可以看出,实践证明,本程序的算法是正确可靠的。

6 结论与总结

本次项目采用教学实验图像处理平台,以TMS320C5509芯片为主处理芯片的ICETEK DSP教学试验箱。实验源图像数据为由SDRAM中的722*228存储图像采样生成,经旋转处理后生成大小为120*96像素的旋转后图像。实现了项目设计目的,达到了本次三级项目设计的要求,圆满完成了本次项目设计的任务。

对我而言,本项目设计不仅是对大学所学过的知识的总结和考察,而且更是一个扩大自己知识面,锻炼动手能力的机会,经过这次的设计,使我在理论和实践方面都有了很大的提高。DSP是理论界一直探讨的热门话题,老师的谆谆诱导、同学的出谋划策,是我坚持完成本项目的动力源泉。

在此,我特别要感谢我的课设导师王鹏老师和同组的郭军峰同学。从本次课

设的一开始,王鹏等老师就悉心教导,细致入微地讲解关于本项目的主要知识,在我们实践过程中,王老师又帮助我们找到正确的试验箱驱动程序,使我能够快速、顺利的完成DSP项目,自始至终他都费心尽力。还有郭军峰同学,当我遇到自己解决不了的问题时,通常都是郭同学帮助我、协助我共同解决难题。可以说如果没有王老师的悉心栽培和郭同学的无私帮助,我不可能如此顺利的完成本次DSP项目。

参考文献

[1] 赵洪亮.TMS320C55x DSP应用系统设计.北京:北京航空航天大学出版社.2010年9月

[2] 方华刚.DSP原理与应用.北京:机械工业出版社,2006年1月

[3] 朱虹.数字图像处理.北京:科学出版社.2008年5月

[4] DANIELSSON P E.High-Accuracy Rotation of Images[J].Graphical Models and Ima ge Processing,2002,54(4):340-344.

[5]张宏兵.坐标系旋转变换公式图解[EB/OL].

https://www.360docs.net/doc/a812071891.html,/s/blog_3fd642cf0101cc8w.html .2013-05-09

项目设计

评语

项目设计成绩指导教师

(签字)年月日

函数图像变换与旋转

函数图像变换与旋转 一.平移变换: 1.y=f (x )→y=f(x±a )(a>0) 原图像横向平移a 个单位(左+右-) 2.y=f (x )→y=f(x)±b(b>0) 原图像纵向平移b 个单位(上+下-) 3.若将函数y=f (x )的图像右移a ,上移b 个单位,得到函数y=f (x-a )+b 二.对称变换: 1.y=f (x )→y=f(-x) 原图像与新图像关于y 轴对称; 对比:若f=(-x )=f (x ) 则函数自身的图像关于y 轴对称; 2.y=f (x )→y=-f(x) 原图像与新图像关于x 轴对称; 3.y=f (x )→y=-f(-x) 原图像与新图像关于原点对称; 对比:若f (-x )=-f (x )则函数自身的图像关于原点对称; 4.y=f (x )→y=f -1 (x )原图像与新图像关于直线y=x 对称; 5.y=f (x )→y=f -1(-x )原图像与新图像关于直线y=-x 对称; 6.y=f (x )→y=f(2a-x )原图像与新图像关于直线x=a 对称; 7.y=f (x )→y=2b-f (x )原图像与新图像关于直线y=b 对称; 8.y=f (x )→y=2b-f (2a-x )原图像与新图像关于点(a ,b )对称; 三.翻折变换: 1.y=f (x )→y=f(|x|)的图像在y 轴右侧(x>0)的部分与y=f (x )的图像相同,在y 轴的左侧部分与其右侧部分关于y 轴对称; 2.y=f (x )→y=|f(x)|的图像在x 轴上方部分与y=f (x )的图像相同,其他部分图像为y=f (x )图像下方部分关于x 轴的对称图像; 3.y=f (x )→y=f(|x+a|)变换步骤: 法1:先平移|a|个单位(左+右-)保留直线x=a 右边图像,后去掉直线x=a 左边图像并作关于直线x=a 对称图像y=f (x )→y=f(x+a )→y=f(|x+a|) 法2:先保留y 轴右边图像,去掉y 轴左边图像,并作关于y 轴对称图像,后平移|a|个单位(左+右-)y=f (x )→y=f(|x|)→y=f(|x+a|) 四.伸缩变换: 1.y=f (x )→y=af(x)(a>0)原图像上所有点的纵坐标变为原来的a 倍,横坐标不变; 2.y=f (x )→y=f(ax)(a>0)原图像上所有的横坐标变为原来的1a ,纵坐标不变;

三年级信息技术图形的翻转和旋转教案

三年级信息技术图形的翻转和旋转教案 课题 图形的翻转和旋转 学科信息技术学段:小学年级三年级 相关 领域语文思品美术 指导思想与理论依据 作为信息技术课教学,不能只是单纯地学习软件的操作,这样是难以激发学生的学习兴趣的,而且教学中要注重让学生理解这些操作能够用来做什么。因此,本课教学通过谜语导入,激发学生的学习兴趣,并以同学们所喜闻乐见的的童话人物孙悟空为主线来展开教学,把知识点的学习融入到具体而有趣的任务之中。并通过最后创编图画和故事的环节,锻炼和培养了学生的想象力、创造力以及语言表达能力,并不失时机地对学生进行德育渗透。教学背景分析教学内容:本课内容是北京市义务教育课程改革实验教材小学信息技术册第三单元第18课《图形变化真奇妙》中的内容,教学对象是小学三年级学生。本节课突出设计了《图形的翻转和旋转》的教学内容,增强学生对绘画图形的表现力。

学生情况:通过前一阶段学习和操作,学生已经基本掌握了电脑绘图程序有关画图工具的操作方法,并能较熟练地对图形进行选定、缩放、移动、复制、粘贴等操作。能够完成一些简单的绘图制作。 教学方式:任务驱动法 教学手段:在学习方法上采取自主探究和小组合作式学习。通过“排行榜”环节,对学生的小组合作学习进行评价和促进。 技术准备:多媒体计算机教学网络系统、局域网教室,每台学生机学习用图片2张,以及综合练习图片素材4张。 教学目标 知识与技能:会用翻转、旋转的方法变化图形 过程与方法: 培养学生自主探究能力和创新能力 培养学生的小组合作学习能力 情感态度与价值观: 鼓励学生敢于想象、大胆创新,并体验与其他同学合作完成学习任务的乐趣 通过根据完成作品内容创编故事,培养学生要互相帮助、爱护动物、节约用水及心中有他人等良好品质

基于dsp的数字图像处理

基于DSP的数字图像处理 时间:2009-12-08 15:40:35 来源:作者:张振福,周江涛国防科技大学 随着计算机、多媒体和数据通信技术的高速发展,数字图像技术近年来得到了极大的重视和长足的发展,并在科学研究、工业生产、医疗卫生、教育、娱乐、管理和通信等方面取得了广泛的应用。同时,人们对计算机视频应用的要求也越来越高,从而使得高速、便捷、智能化的高性能数字图像处理设备成为未来视频设备的发展方向,实时图像处理技术在目标跟踪、机器人导航、辅助驾驶、智能交通监控中都得到越来越多的应用。由于图像处理的数据量大,数据处理相关性高,实时的应用环境决定严格的帧、场时间限制,因此实时图像处理系统必须具有强大的运算能力。各种高性能DSP不仅可以满足在运算性能方面的需要,而且由于DSP的可编程性,还可以在硬件一级获得系统设计的极大灵活性。为了获得足够的计算能力,我们以两片TMS320C6201作为系统的运算中心构筑了实时图像处理系统;为了获取最大的灵活性,在系统体系机构上采用了一种可重构的FPGA计算系统模型。 1 功能强大的TMS320C6x TMS320C6000是美国TI(Texas Instruments)公司于1997年推出的新一代高性能DSP芯片。这种芯片是定点、浮点兼容的DSP。其定点系列是TMS32C62XX,浮点系列是TMS320C67XX。最早推出的C6201芯片的运算速度已经达到1600MIPS,在业界首次突破1000MIPS,在数字信号处理器数里能力上创造了新的里程碑,并因此获得了美国EDN杂志“1997年度创新大奖”2000年3月,TI发布了新的C64XX内核,主频1.1GHz,处理速度接近9000MIPS,总体性能比C62XX提高了10~15倍。其中C6416在2002年3月获得EDN杂志“2001年度创新大奖”。 C6000内部结构的主要特点包括: ①定点/浮点系列兼容DSP,目前CPU主频100MHz~600MHz。 ②具有先进VLI W结构内核。 (1)8个独立的功能单元:6个ALU(32/40bit),2个乘法器(16×16),浮点系列支持IEEE 标准单精度和双精度浮点运算。 (2)可以每周期执行8条32bi t指令,最大峰值速度4800MIPS。 (3)专用存取结构,32/64个32bit通用寄存器。 (4)指令打包技术,减少代码容量。 ③具有类似RISC的指令集。 (1)32bit寻址范围,支持bit寻址。 (2)支持40bitALU运算。 (3)支持bit操作。 (4)100%条件指令。 ④片内集成大容量SRAM,最大可达8Mbit。 ⑤16/32/64bit高性能外部存储器接口(EMIF)提供了与SDRAM、SBRAM和SRAM登同步/异步存储器的直接接口。 ⑥内置高效率协处理器(C64X)。 (1)Viterbi编解码协处理器(VCP),支持500路7.95kb/s AMR。 (2)Turbo码编解码协处理器(TCP),支持6路2Mb/s 3GPP。 ⑦片内提供多种集成外设(不同芯片的资源不同) (1)多通道DMA/EDMA控制器

DSP 在图像处理中的应用

DSP 在图像处理中的应用 (北京科技大学自动化学院北京100081) 摘要:本文以TI TMS320C54X DSP 为例描述了DSP 作为优秀的数字信号处理平台所具备的特点,并在此基础上介绍了利用Altera 公司提供的数字信号处理开发工具DSP Builder 和现代DSP 技术,在 Matlab/Simulink 环境中建立了JPEG 算法模型,并进行了仿真验证,最后将编译代码下载到硬件上进行了在线调试。 关键词:DSP Builder;TMS320C54X图像处理 The Application of DSP in Image Processing College of Automation, University of Science and Technology Beijing, Beijing 100081 Abstract:This paper presents the excellent characteristics of DSP chips using TI TMS320C54X DSP as an example.And it has been introduced in this paper that a JPEG algorithm model is created in the environment of Matlab/Simulinkwith the help of DSP Bulider, a digital signal processing development tool provided by Altera Corporation, and modern DSP technology. Then a simulation verification has been performed, and finally the code is compiled and downloaded to the hardware for thepurpose of on-line debugging. Key words :DSP Builder TMS320C54X Image processin g. 0 前言 数字图像处理在当今工业及医疗领域的应用日益广泛,从而对图像处理系统的实时性和准确性提出了更高的要求。DSP 芯片以其适应于高速数字信号处理的内部结构,在图像处理领域发挥了不可替代的作用。 1 DSP 芯片简介 当前数字信号处理领域并存两大类处理器:通用处理器(GPP) 和专用处理器(DSP) ,通用处理器主要应用于PC 机中,而DSP 器件主要应用于便携式、嵌入式设备中。消费类电子产品对器件成本和功耗要求苛刻,DSP 器件正是在这两方面较通用处理器有优势。DSP 芯片采用能提供多条地址及数据总线的哈佛结构而摒弃了以往的冯·诺依曼结构。由于片内存储器比片外存储器快,在通用处理器中广泛使用的高速缓存也被引入到DSP 芯片中来。另外,为提高处理速度DSP 芯片还使用了流水线技术。TMS320C54x 是TI 公司为实现低功耗、高性能而专门设计的定点DSP 芯片。54x 系列DSP 采用改进的哈佛结构,该结构有8 条总线,使数据处理能力达到了最大限度。通过程序、数据空间的分离可同时进行程序指令和数据的存取并提供了高度的并行性。此外数据还可以在数据空间和程序空间进行传送。这种并行性还持一系列功能强劲的算术逻辑及位操作运算。所有这些运算都可以在单个机器周期内完成。同时,54x 还有包括终端管理、重复操作及功能调用等在内的控制机制。 2 DSP Builder 介绍 DSP Builder 开发工具是Altera 公司提供的数字信号处理平台, 它是一个系统级( 或算法级) 设计工具, 架构在多个软件工具之上,并把系统级和RTL 级两个设计领域的设计工具连接起来,最大程度地发挥了两种工具的优势。DSP Builder 依赖于MathWorks 公司的数学分析工具Matlab /Simulink ,以Simulink 的Blockset 出现,可以在Simulink 中进行图形化设计和仿真,同时通过SignalCompiler 把Matlab/Simulink 的设计文件(.mdl) 转成相应的硬件描述语言VHDL 设计文件(.vhd),以及用于控制综合与编译的TCL 脚本。而对后者的处理可以由FPGA/CPLD 开发工具Quartus II 来完成。 设计人员能够同时进行多个HDL 模型或者QuartusII软件设计工程的设计,为每一个

基于DSP的检测算法实现及优化

基于DSP的检测算法实现及优化 摘要:运动目标检测可以从连续变化的多幅图像中把运动目标提取出来。运动目标的捕捉对于目标分化、采集和动作归类等后续处理相当重要,因为后期过程只处理图像中运动目标周围一定范围内的像素。但由于运动目标所处背景的随机性,比如气候、光线及噪声干扰的影响,检测运动目标实际上是一项比较困难的任务。目前对于运动目标的检测的算法可以划分为两类:基于象素强度的算法及基于运动的算法。细分又包括四种:基于特征的方法、基于帧间差分的方法、基于背景建模的方法和基于光流场的方法。其中前三种属于基于象素强度变化检测的算法,第四种可以看作是基于运动的检测方法。基于强度算法容易实现、效率高,可处理目标跟踪问题比较难。基于运动的算法稳定性强,处理跟踪问题相对简单。该文重点研究目标检测的DSP算法实现,所以在参考大量文献后,选用了传统检测算法中速度较快而且相对便于硬件实现的帧间差分算法,为了取得良好快速的目标检测结果,该文采用Sobel算子与帧间差分结合的方法。 关键词:DSP的检测算法;实现及优化 中图分类号:TP311 文献标识码:A 文章编号: 1009-3044(2014)13-3070-05

1 基于Sobel算子的帧间差分检测算法 1.1 帧间差分法 由于红外图像的目标特性,用灰度变化表述物体的运动轨迹可以获得较高的检测效率,从而满足检测过程的实时性要求。 假设输入图像为: [F={fj(a,b),a∈X,b∈Y,j=0,1,2,....}] 其中,(a ,b)为实际场景中(X ,Y)上一点,[fj (a,b)]为第j帧上(a ,b)点的灰度值,j为图像的编号,以下为图像差分的结果: [D={dj(a,b),a∈X,b∈Y,j=0,1,2,....}] [其中:dj(a,b)={|fj(a,b)-fj-i(a,b)|,j=0,1,2,...;i=0,1,2,3,...}] [dj(a,b)]基本上体现出运动目标的边界和高差异区域。一般选择i=1也就是相邻两幅图像进行差分,如果运动目标的速度小于相邻两幅图像的时间差时,可以增大i值避免检测目标遗失。如i=5时仍然没有目标,则可以认为无检测目标,就换为下一幅图像(j+1)图像进行检测。 选择一个恰当的阈值[Tj],将差分结果[dj(a,b)] 转变为二值图像: [wj(a,b)=0,dj(a,b)≥Tj1,dj(a,b)

DSP数字图像处理实验课设

华东交通大学理工学院 课程设计报告书 所属课程名称DSP原理及应用 题目数字图像处理系统设计分院电信分院 专业班级 12通信2班 学生姓名余志强 指导教师李杰

目录 第一章课程设计内容及要求 第二章程序设计原理 2.1数字图象处理基本原理 2.2数字图像处理常用方法 2.3图象灰度处理的基本原理 2.4图象的反色原理和实现 2.5灰度图象二值化原理及意义第三章程序设计步骤 第四章总结

第一章课程设计内容及要求 一、设计内容 1了解数字图象处理的基本原理 2 学习灰度图象反色处理技术 3 学习灰度图象二值化处理技术 第二章程序设计原理 2、1数字图像处理的基本原理 数字图像处理是指将图像信号转换成数字信号并利用计算机对其进行处理的过程。图像处理最早出现于 20 世纪 50 年代,当时的电子计算机已经发展到一定水平,人们开始利用计算机来处理图形和图像信息。数字图像处理作为一门学科大约形成于 20 世纪 60 年代初期。早期的图像处理的目的是改善图像的质量,它以人为对象,以改善人的视觉效果为目的。图像处理中,输入的是质量低的图像,输出的是改善质量后的图像,常用的图像处理方法有图像增强、复原、编码、压缩等。 2、2 数字图像处理常用方法: 1 )图像变换:由于图像阵列很大,直接在空间域中进行处理,涉及计算量很大。因此,往往采用各种图像变换的方法,如傅立叶变换、沃尔什变换、离散余弦变换等间接处理技术,将空间域的处理转换为变换域处理,不仅可减少计算量,而且可获得更有

效的处理(如傅立叶变换可在频域中进行数字滤波处理)。目前新兴研究的小波变换在时域和频域中都具有良好的局部化特性,它在图像处理中也有着广泛而有效的应用。 2 )图像编码压缩:图像编码压缩技术可减少描述图像的数据量(即比特数),以便节省图像传输、处理时间和减少所占用的存储器容量。压缩可以在不失真的前提下获得,也可以在允许的失真条件下进行。编码是压缩技术中最重要的方法,它在图像处理技术中是发展最早且比较成熟的技术。 3 )图像增强和复原:图像增强和复原的目的是为了提高图像的质量,如去除噪声,提高图像的清晰度等。图像增强不考虑图像降质的原因,突出图像中所感兴趣的部分。如强化图像高频分量,可使图像中物体轮廓清晰,细节明显;如强化低频分量可减少图像中噪声影响。图像复原要求对图像降质的原因有一定的了解,一般讲应根据降质过程建立“降质模型”,再采用某种滤波方法,恢复或重建原来的图像。 4 )图像分割:图像分割是数字图像处理中的关键技术之一。图像分割是将图像中有意义的特征部分提取出来,其有意义的特征有图像中的边缘、区域等,这是进一步进行图像识别、分析和理解的基础。虽然目前已研究出不少边缘提取、区域分割的方法,但还没有一种普遍适用于各种图像的有效方法。因此,对图像分割的研究还在不断深入之中,是目前图像处理中研究的热点之一。

基于DSP的图像处理系统的应用研究论文

基于DSP的图像处理系统的应用研究 摘要 本文介绍了一种基于FPGA+DSP结构的具有通用性、可扩充性的高速数字图像处理系统硬件平台。重点介绍了以高速数字信号处理器TMS320DM642和可编程逻辑器件XC2S300E为核心的图象处理系统的硬件实现方案以及通过DSP对FPGA芯片的动态配置来实现软件控制的设计思路。 关键词:可编程逻辑器件;数宇信号处理器;数字图象处理;动态配置 Abstract This paper presents the hardware platform of a high speed digital image processing system.The hardware design is based on the TMS320DM642 of Texas Instruments Corporation and XC2S300E of Xilinx corporation.The FPGA dynamic configuration is also introduced. Key words:DSP;FPGA;digital image processor;dynamic configuration 1、引言 随着科学技术的快速发展,人们对信息的需求越来越大,对信息的处理速度也越来越快。实时数字图象处理系统要求必须具有处理大数据量的能力,以保证系统的实时陛,其次对系统的体积、功耗、稳定性等也有较严格的要求,而数字图象处理处理理论与技术的飞速发展直接导致A/D、D/A、FPGA及DSP等电子集成产品的高速发展与更新,从而使许多复杂、高速的信号处理运算的实现成为可能。 目前,数字图象处理技术已在通信、信息,电子、自动控制、航天及军事等领域中得到广泛应用。软件技术突破了以功能单一、可扩充性差的硬件为核心的设计局限性,强调以开放性,扩充性和软件编程硬件为通用平台,利用系统可升级、可重复配置来实现多功能的设计。动态配置技术为同一硬件平台上实现不同的功能需求、不同的工作模式提供了可能。 本文介绍一种高速数字图象信号处理平台的实现方案,通过FPGA和DSP芯片来构造一个具有通用性、可扩充性、灵活的多功能高速数字信号处理平台。该平台通过动态配置可以进行多模式工作,能够应用在无线接收、卫星接收、图象处理和信号分析等多个领域。 2、信号处理系统的类型和本设计处理机构架 根据数字图象信号处理系统在构成、处理能力以及计算问题到硬件结构映射

图形的翻转与旋转

《图形的翻转与旋转》 授课对象:小学四年级 教材分析:本课内容为《变幻莫测的密室》一课中的内容。根据教材内容和小学生实际身心特点,我对该教材的相应内容进行了调整,突出设计了《图形的翻转与旋转》的教学内容,增强学生对图像变化的感知能力。 教学对象分析:通过前一阶段学习和操作,学生已经基本掌握了电脑绘图程序有关画图工具的操作方法,并能够根据要求完成一些简单的绘图制作。小学四年级的学生,年龄小、爱问好动、想像力丰富,对实际操作活动有着浓厚的兴趣,因此,在学习过程中,应鼓励学生自己观察,亲自动手操作,学会合作和交流,师生共同归纳总结、体验学习。 教学目标: 1、知识目标:教学生掌握电脑画图程序中翻转、旋转的菜单的使用,掌握改变图形方向的操作技巧。 2、技能目标:注重培养学生对图像方向变化的感知能力。 3、情感目标:鼓励学生敢于想象、大胆创新,提高学生对信息技术的学习兴趣,使学生获得成功的体验。

教学重点:学会用翻转和旋转的方法变化图形方向。 教学难点:结合学习和生活实际,利用翻转和旋转的方法进行有目的地变化图形方向。 教学方法:任务驱动模式 教学准备:多媒体计算机教学网络系统。 教学过程: 一、创设情景,激发兴趣 师:出示图片。小熊花花有一件高兴的事情,想告诉熊妈妈,可是它现在背对着妈妈,这样直接说话好吗? 生:不好。 师:大家说得对,这样做太没有礼貌了,小熊也知道错了,但怎样才能转过身来?像这样改变图形方向等问题还有很多,学了第十课你就会解决了。板书。《神奇的图形》 二、信息处理 1、自学“水平翻转” 师:我们怎样才能帮小熊解决这个问题?下面先来看看小助手给了我们什么启示?(出示屏录文件)

DSP图像处理综述

DSP应用综述 摘要:数字信号处理(DSP)是一门涉及许多学科而又广泛应用于许多领域的新兴学科。它是一种通过使用数学技巧执行转换或提取信息,来处理现实信号的方法,这些信号由数字序列表示。本文概述了数字信号处理技术的发展过程,分析了 DSP 处理器在图像领域应用状况,介绍了DSP的最新发展,对数字信号处理技术的发展前景进行了展望。 关键词:数字信号处理; 数学图形处理;DSP平台; DSP发展趋势 引言:在过去的几年中,各种各样的数字信号处理方法层出不穷。数字信号处理器已经成为许多消费、通信、医疗、军事和工业类产品的核心器件。在实际应用中可以选用的数字信号处理实现方法很多。但是,数字信号处理器(DSP)以其在处理速度、价格和功耗上的无以替代的优势赢得了大多数用户的信任。随着信息家电、网络通信和3G移动通信的飞速发展,作为最关键的核心器件的数字信号处理器,将会把人们带人高速信息化的时代。而基于DSP的数字图像处理技术也随之DSP的发展而不断革新。图像处理技术最初是在采用高级语言编程在计算机上实现的,后来还在计算机中加入了图像处理器(GPU),协同计算机的CPU 工作,以提高计算机的图形化处理能力。在大批量、小型化和低功耗的要求提出后,图像处理平台依次出现了基于VLSI 技术的专用集成电路芯片((ASIC)和数字信号处理器((DSP)。但基于DSP的图像处理系统以其可降低体积、重量与功耗,同时价格也较低,具有较高的可靠性,且易于维修与测试,对噪声与干扰有较强的抗干扰能力,越来越受到了人们的青睐。 1. DSP发展历史 DSP的历史可分为三个阶段 1.在数字信号处理技术发展的初期(二十世纪50-60 年代),人们只能在微处理器上完成数字信号的处理。直到70 年代,有人才提出了DSP的理论和算法基础。一般认为,世界上第一个单片DSP芯片应当是1978 年AMI 公司发布的S281l。1979 年美国Intel 公司发布的商用可编程器件2920 是DSP 芯片的一个重要里程碑。这两种芯片内部都没有现代DSP 芯片所必须有的单周期乘法器。1980 年,日本NEC 公司推出的mPD7720 是第一个具有硬件乘法器的商用DSP 芯片,从而被认为是第一块单片DSP 器件。 2.随着大规模集成电路技术的发展,1982 年美国德州仪器公司推出世界上第一代DSP 芯片TMS32010 及其系列产品,标志了实时数字信号处理领域的重大突破。Ti 公司之后不久相继推出了第二代和第三代DSP芯片。90 年代DSP发展最快。Ti 公司相继推出第四代、第五代DSP芯片等。 3.随着CMOS 技术的进步与发展,日本的Hitachi 公司在1982 年推出第一个基于CMOS 工艺的浮点DSP 芯片,1983 年日本Fujitsu 公司推出的MB8764,其指令周期为120ns,且具有双内部总线,从而使处理吞吐量发生了一个大的飞跃。而第一个高性能浮点DSP 芯片应是A T&T 公司于1984 年推出的DSP32.与其他公司相比,Motorola 公司在推出DSP 芯片方面相对较晚。1986 年,该公司推出了定点处理器MC56001.1990 年推出了与IEEE 浮点格式兼容的浮点DSP芯片MC96002。美国模拟器件公司(AD)在DSP 芯片市场上也占有一定的份额,相继推出了一系列具有自己特点的DSP 芯片。自1980 年以来,DSP 芯片得到了突飞猛进的发展,DSP 芯片的应用越来越广泛,并逐渐成为电子产品更新换代的决定因素。从运算速度来看,MAC(一次乘法和一次加法)时间已经从20 世纪80 年代初的400ns 降低到10ns 以下,处理能力提高了几十倍。DSP 芯片内部关键的乘法器部件从1980 年占模片区的40%左右下降到5%以下,片内RAM 数量增加一个数量级以上。DSP 芯片的引脚数量从1980 年的最多64 个增加到现在的200 个以上,引脚数量的增加,意味着结构灵活性的增加,如外部存储器的扩展和处理器间的通信等。 2. 国内外发展现状 2.1国内发展现状 随着我国信息产业的发展,近年来我国的数字信号处理学科发展较快。DSP处理器已经在我国的数字通信、信号处理、雷达、电子对抗、图像处理等方面得到了广泛的应用,为科学技术和国民经济建设创造了很大价值。全国有很多高校、科研机构的信号处理

数字图像处理在DSP上的实现

数字图像处理在DSP上的实现(旋转) 1 绪论 1.1设计目的 图像旋转是一种应用广泛的数字图像处理技术,随着应用水平的不断提高,对在嵌入式系统中实现高分辨率大图像旋转的需求也越来越高。如在航空领域的高分辨率数字地图图像的显示处理过程中,由于现有的显示芯片均不能支持图像旋转功能,就需要在资源有限的嵌入式平台上实现大幅面地图图像的实时旋转。采用DSP平台是一种实现方式,具体实现时需仔细考虑两个方面的问题,一是选用计算量小的旋转算法,二是充分发挥DSP平台强大的并行计算能力。 1.2设计任务 1.能从计算机上读取图片。 2.编写图像旋转程序,在TMS320C5509上实现。

2 设计原理及分析 2.1设计原理 目前,已经有很多有效降低计算量的图像旋转算法,基于图像线性存储结构的旋转方法就是其中之一。然而,在DSP平台上,有限的高速存储资源限制了这些算法效率的直接发挥,需要针对算法及DSP平台的性能结构特点进行高效的数据调度。对于图像旋转问题而言,数据调度还需要克服由于存在大量非连续图像像素地址访问而严重影响DSP数据存取及CPU效率发挥的问题。这是图像旋转本身的特殊性,在其他图像处理技术中是不存在的。 由DSP的结构特点可知,只有在数据和程序均位于片内存储器当中的条件下,DSP 的效率才能得到最大化的发挥。在大图像旋转算法中,由于涉及的图像数据量远大于DSP 的片内存储器容量,源图像和最终视口图像等数据必须被存放在片外存储器中。在这种情况下,为了保证DSP CPU高速处理能力的发挥,必须优化数据流,将源图像分块,依次搬移至片内处理,并设法保证CPU当前要处理的图像数据块已经事先在片内存储器中准备好了。因此在算法整体优化结构上采用Ping-Pong双缓冲技术,利用EDMA与CPU 并行工作来隐藏图像数据块在片内和片外之间的传输时间,使CPU能连续不断地处理数据,中间不会出现空闲等待。 传统的图像旋转一般通过矩阵乘法实现: 其中,α为旋转角度。 由于图像是线性存储的,各个像素点之间的相对位置关系确定。如图1(a)所示,图像旋转前,任意像素点P(x,y)和P1(x1,y1)、P2(x2,y2)及A(xA,yA)在几何上是矩形的四顶点关系。由于旋转变换是线性变换,如图1(b)所示,图像旋转后,各个像素点之间的相对位置关系不发生变化, 旋转算法的数据调度目的是使算法能够按照一定的规则,将源图像数据有规律地分块,并按次序分别传输到DSP片内存储器中,完成计算后,形成视口图像块,再将视口

(完整版)基于DSP的数字滤波器的设计与仿真

2.1系统功能介绍 一个实际的应用系统中,总存在各种干扰。数字滤波器在语音信号处理、信号频谱估计、信号去噪、无线通信中的数字变频以及图像信号等各种信号处理中都有广泛的应用,数字滤波器也是使用最为广泛的信号处理算法之一。 在本设计中,使用MATLAB模拟产生合成信号,然后利用CCS进行滤波。设定模拟信号的采样频率为48000Hz,。设计一个FIR低通滤波器,其参数为:滤波器名称:FIR低通滤波器 采样频率:Fs=48000Hz 通带截止频率:15000Hz 阻带截止频率:16000Hz 通带最大衰减:0.1dB 阻带最少衰减:80dB 滤波器系数:由MATLAB根据前述参数求得。 2.2 总体设计方案流程图 图1 总体设计方案

主要内容和步骤 3.1 滤波器原理 对于一个FIR 滤波器系统,它的冲击响应总是又限长的,其系统函数可记为: ()()10 N n n H z h n z --==∑ 其中1N -是FIR 的滤波器的阶数,n z -为延时结,()h n 为端口信号函数。 最基本的FIR 滤波器可用下式表示: ()()()10 N k y n h k x n k -==-∑ 其中()x n k -输入采样序列,()h k 是滤波器系数,N 是滤波器的阶数()Y n 表示滤波器的输出序列,也可以用卷积来表示输出序列()y n 与()x n 、()h n 的关系,如下: ()()()y n x n h n =* 3.2 操作步骤 (1)打开FDATOOL ,根据滤波要求设置滤波器类型、通带截止频率、指定阶数、采样频率等。指定完设计参数后单击按钮Design Filter ,生成滤波器系数。 (2)把生成的滤波器系数传到目标DSP 。选择菜单Targets->Export to Code Composer Studio(tm)IDE ,打开Export to C Header File 对话框,选择C header file ,指定变量名(滤波器阶数和系数向量),输出数据类型可选浮点型或32 b ,16 b 整型等,根据自己安装选择目标板板号和处理器号,单击OK ,保存该头文件,需指定文件名(filtercoeff .h)和路径(保存在c :\ti\myprojects\fir 工程中)。 (3)修改CCS 汇编程序,删掉数据前的所有文字,在开头加上.data ,第二行加coeff .word ,在每行的前面加上.word ,比且把每行的最后的逗号去掉。 (4)编译汇编程序,如果有错误,按错误进行修改;没错误,则往下执行。 (5)加载初始化DATA 数据。运行程序,查看输入输出波形,修改相应参数进行调试

DSP在图像处理中的应用

DSP 在图像处理中的应用 The Application of DSP in Image Processing 刘 治3 李 建 田 伟 LIU Zhi LI Jan TIAN Wei 摘 要  本文以TI T MS320C54X DSP 为例描述了DSP 作为优秀的数字信号处理平台所具备的特点,并在此基础上介绍了在DSP 上实现数字图像处理所需的方法及特殊算法。 关键词  DSP 芯片 T MS320C54X 图像处理 Abstract This paper presents the excellent characteristics of DSP chips using TI T MS320C54X DSP as an exam 2 ple.And s ome methods and alg orithms ,which w ould be im plemented on DSP chips in image processing ,are intro 2duced. K eyw ords DSP chips T MS320C54X Image processing. 3山东大学信息科学与工程学院 250100 数字图像处理在当今工业及医疗领域的应用日益广泛,从而对图像处理系统的实时性和准确性提出了更高的要求。 DSP 芯片以其适应于高速数字信号处理的内部结构,在图像 处理领域发挥了不可替代的作用。 1 DSP 芯片简介 当前数字信号处理领域并存两大类处理器:通用处理器 (G PP )和专用处理器(DSP ),通用处理器主要应用于PC 机 中,而DSP 器件主要应用于便携式、 嵌入式设备中。消费类电子产品对器件成本和功耗要求苛刻,DSP 器件正是在这两方面较通用处理器有优势。 DSP 芯片采用能提供多条地址及数据总线的哈佛结构 而摒弃了以往的冯?诺依曼结构(两种结构的简单比较见图 1)。由于片内存储器比片外存储器快,在通用处理器中广泛 使用的高速缓存也被引入到DSP 芯片中来。另外,为提高处 图1(a )冯?诺依曼结构 (b )哈佛结构 理速度DSP 芯片还使用了流水线技术。 T MS320C54x 是TI 公司为实现低功耗、高性能而专门设 计的定点DSP 芯片。54x 系列DSP 采用改进的哈佛结构,该结构有8条总线,使数据处理能力达到了最大限度。通过程序、数据空间的分离可同时进行程序指令和数据的存取并提供了高度的并行性。此外数据还可以在数据空间和程序空间进行传送。这种并行性还支持一系列功能强劲的算术逻辑及位操作运算。所有这些运算都可以在单个机器周期内完成。同时,54x 还有包括终端管理、重复操作及功能调用等在内的控制机制。图2为c54x 的内部功能框图。 2 DSP 系统设计 2.1 有关数据传输的处理 一幅未经处理的CC D 图像大约有5M 左右,这已超出 DSP 的寻址能力,而DSP 在绝大多数情况下不能以全速访问 外部存储器,于是提出对中间缓冲区的要求,而缓冲区又不宜过大,解决的办法之一是将图像数据转换成数据流进行传送。首先是将像素进行横向滤波,在处理某一像素的时间内,FIR 滤波器必须同时接收下一个要处理的像素并将本次处理结果传送至下一单元,这一过程就是一个简单的流水线操作。其中滤波器纵向宽度决定能够存储的行数。对于TI T MS320c54X 系列的DSP 片内存储器为16k ~64k ,对于动辄 几兆的图像数据显得杯水车薪,但它已基本满足非实时应用的要求,譬如对静态图像的处理。 另一方法是在系统中使用DM A 技术,即当原始的CC D 图像数据进入外部存储器后,以DM A 方式将数据由速度较慢的外部存储器传送至DSP 片内存储器。由于DSP 没有和 外部存储器之间的直接通道,因此首先应在算法上将数据分 7 5

毕业设计--基于双边滤波的图像去噪的方法

学号:1008431110 本科毕业论文(设计) (2014届) 基于双边滤波的图像去噪方法 院系电子信息工程学院 专业通息工程 姓名 指导教师讲师 2014年4月

双边滤波是非线性的滤波方法,是结合图像的像素值相似度空间邻近度和空间领近度的一种折衷处理,同时考虑灰度相似性和空域信息,达到保边去噪的目的。双边滤波具有简单、非迭代、局部的特点。双边滤波器的好处是可以做边缘保存,一般过去用的维纳滤波或者高斯滤波去降噪,都会较明显地模糊边缘,对于高频细节的保护效果并不明显。双边滤波比高斯滤波多了一个高斯方差,它是基于空间分布的高斯滤波函数,所以在边缘附近,离的较远的像素不会影响到边缘上的像素值,这样就保证了边缘附近像素值的保存。但是由于保存了过多的高频信息对于彩色图像里的高频噪声,双边滤波器不能够彻底的滤掉,只能够对于低频信息进行较好的滤波。其具体的操作方法有两个,第一个是高斯模版,用个模板对图像中的每一个像素值进行扫描,然后把某一点和其邻域内像素的加权平均值代替那一个中心的值高斯滤波器是根据高斯函数的形状来选择其权值的线性平滑滤波器,高斯滤波是线性平滑滤波的一种,最适合去除的噪声类型是服从正态分布的噪声。第二个是以灰度级的差值作为函数系数生成的模板。然后这两个模板点乘就得到了最终的双边滤波模板,最后得到双边滤波处理后的图像。 关键词:图像;去噪;双边滤波;高斯滤波

The bilateral filter is a nonlinear filtering method, is the combination of image pixel value similarity space proximity and space brought a compromise approach degree, considering the gray similarity and spatial information, to achieve the purpose of edge preserving denoising. The bilateral filter has the advantages of simple, non iterative, local. The bilateral filter is good to do edge preservation,generally used Wiener filtering or Gauss filter to denoise, will obviously fuzzy edge, for the protection of high frequency detail is not obvious. Bilateral filtering than Gauss filter has a Gauss variance, it is Gauss filter function based on the spatial distribution, so near the edge, the pixel will not affect the farther to the pixel on the edge of the value, thus ensuring the preservation of edge pixel values. But because of the high frequency information saved too much for the high frequency noise in the color image, the bilateral filter can not be completely filtered out, can only be better filtering for the low frequency information. The specific operation method has two, the first is Gauss template, scanning for each pixel in the image with a template, and then the weighted one point and its neighborhood pixels instead of the average value of a central value Gauss filters are linear smoothing filter to select the weights based on the Gauss function the shape, the Gauss filter is a linear smoothing filter for noise removal, the type is subject to normally distributed noise. The second is the difference of gray level as function coefficients generated templates. Then the two template dot get bilateral filtering template final, finally get the image after bilateral filtering. Key words: Image ;Denoising;Bilateral Filtering;Gauss Filtering

基于dsp的图像去噪实现

摘要 数字图像在产生、传输、处理、储存的过程中,不可避免地受到各类噪声的干扰导致信息难以获取,这就直接影响后期处理的效果。因此在对图像进行后续操作前必须进行提前加工处理,而图像去噪就是一种重要的方法之一。 图像噪声有很多种类,本文主要研究椒盐噪声和高斯噪声。中值滤波是一种非线性数字滤波器技术,中值滤波的基本原理是把数字图像或数字序列中一点的值用该点的一个邻域中各点值的中值代替,从而消除孤立的噪声点。 本文以灰度图像去噪为研究课题,通过使用DSP平台对图像分别加入椒盐噪声和高斯噪声,再进行中值滤波处理对比仿真结果,得出中值滤波能有效去除椒盐噪声的结论。也提出了一些中值滤波的优化改进算法思想。 关键词: 图像去噪;DSP;椒盐噪声;高斯噪声;中值滤波

目录 摘要......................................................错误!未定义书签。 1 设计方案 (1) 1.1 设计目的 (1) 1.2 设计内容及要求 (1) 2 数字图像基础 (1) 2.1 数字图像 (1) 2.2 数字图像灰度化 (2) 2.3 噪声的分类与特点 (3) 2.4 灰度图像噪声的清除 (7) 2.5 图像去噪效果的评价方法 (10) 3 中值滤波 (11) 3.1 标准中值滤波 (11) 3.2 中值滤波的改进算法 (14) 4 算法及DSP仿真 (18) 4.1 算法 (18) 4.2 仿真 (22) 5 设计总结 (30) 参考文献 (31) 致谢 (32)

1设计方案 1.1设计目的 通过对课程设计任务的完成,使学生理解课程教学的理论内容,并且能够掌握和熟悉DSP的开发流程和基本的编程方法。同时,由于设计中涉及到各种器件的使用,可以提高学生综合运用各种技术和知识的能力。 1.2设计内容及要求 基于DSP技术完成图像取反设计,具体要求如下: (1)总体方案设计。 (2)设计出软件编程方法,并写出源代码。 (3)仿真与结果分析。 (4)论文格式要符合学院的统一规定,结构要合符逻辑,表达要得体。 2 数字图像基础 2.1 数字图像 在人们的视界里,图像分为彩色和黑白。对于彩色图像,按照色度学理论:任何颜色都可由红、绿、蓝三种基本颜色按不同的比例混合得到。这样,自然界的图像可以用基于位置坐标的三维函数来表示,即:利用 f 表示空间坐标错误!未找到引用源。点的颜色函数,fred、fgreen、fblue分别表示该点颜色的红、绿、蓝三种原色的分量值。由于平面上每一点仅包括两个坐标(x, y),所以我们可以将空间三维函数转化为二维函数。对于黑白图像,就比彩色图像简单多了,只需要用错误!未找到引用源。表示该点图像的灰度(强度)即可。 我们所说的数字图像是相对于模拟图像而言的。是将图像按空间坐标和明暗程度的连续性分类得到的: (1) 模拟图像指空间坐标和明暗程度都是连续变化的图像,计算机无法对其直接处理。即错误!未找到引用源。是空间的连续函数,错误!未找到引用源。为连续的空间,即在连续空间内,每一个点都有一个精确的值与之相对应。

相关文档
最新文档