数字图像处理在DSP上的实现Word下载.docx

上传人:b****1 文档编号:13253346 上传时间:2022-10-08 格式:DOCX 页数:16 大小:63.34KB
下载 相关 举报
数字图像处理在DSP上的实现Word下载.docx_第1页
第1页 / 共16页
数字图像处理在DSP上的实现Word下载.docx_第2页
第2页 / 共16页
数字图像处理在DSP上的实现Word下载.docx_第3页
第3页 / 共16页
数字图像处理在DSP上的实现Word下载.docx_第4页
第4页 / 共16页
数字图像处理在DSP上的实现Word下载.docx_第5页
第5页 / 共16页
点击查看更多>>
下载资源
资源描述

数字图像处理在DSP上的实现Word下载.docx

《数字图像处理在DSP上的实现Word下载.docx》由会员分享,可在线阅读,更多相关《数字图像处理在DSP上的实现Word下载.docx(16页珍藏版)》请在冰豆网上搜索。

数字图像处理在DSP上的实现Word下载.docx

其中,α为旋转角度。

由于图像是线性存储的,各个像素点之间的相对位置关系确定。

如图1(a)所示,图像旋转前,任意像素点P(x,y)和P1(x1,y1)、P2(x2,y2)及A(xA,yA)在几何上是矩形的四顶点关系。

由于旋转变换是线性变换,如图1(b)所示,图像旋转后,各个像素点之间的相对位置关系不发生变化,

旋转算法的数据调度目的是使算法能够按照一定的规则,将源图像数据有规律地分块,并按次序分别传输到DSP片存储器中,完成计算后,形成视口图像块,再将视口图像块按同样的顺序进行排列,形成旋转后的视口图像。

整个过程要求调入和调出的图像数据均是规则分块的,并且调入的源图像块中应该包含计算视口图像块的过程中所需要的全部像素数据,尤其需要解决其中的大量非连续图像像素地址访问问题。

视口逆时针旋转的情况与此类似。

区别有以下两点:

1源图像块的左边框中点与相应的视口图像块旋转后的左上角顶点对应;

②源图像块的顶点局部坐标地址值与视口图像块的顶点局部坐标地址值之间的对应关系式应为:

  其中height指源图像块的高度。

3软件程序

3.1主程序

#include<

stdlib.h>

stdio.h>

graphics.h>

alloc.h>

ctype.h>

intload_cut(char*fname);

intload_convolution_matrix(char*fname);

intconvolve_image(void);

intswap_pictures(void);

intminx,maxx,miny,maxy;

intLOADPAGE=0;

intENHANCEPAGE=1;

int*cmat,*pmat,*vmat;

intcmx,cmy,cmnum;

structpalettetypepalette,newpal;

intdriver,mode;

intcleancut=-1;

intinit_graphics(void)

{

driver=DETECT;

mode=0;

detectgraph(&

driver,&

mode);

if(driver==VGA)mode=VGAMED;

initgraph(&

mode,"

"

);

getpalette(&

palette);

newpal);

}

intcleanup_image(void)

inti,j,num,x,y,k;

if(cleancut<

0)return;

setactivepage(LOADPAGE);

setvisualpage(ENHANCEPAGE);

for(x=minx;

x<

maxx;

x++){

for(y=miny;

y<

maxy;

y++){

if(getpixel(x,y)!

=0)num=-1;

elsenum=0;

for(j=-1;

j<

2;

j++){

for(i=-1;

i<

i++){

if(getpixel(x+i,y+j)!

=0)num++;

}

if(num>

cleancut){

k=getpixel(x,y);

setactivepage(ENHANCEPAGE);

putpixel(x,y,k);

k=ENHANCEPAGE;

ENHANCEPAGE=LOADPAGE;

LOADPAGE=k;

voidshow_test_image(void)

inti;

minx=cmx;

miny=cmy;

maxx=100+minx;

maxy=100+miny;

setcolor

(1);

moveto(minx,miny);

randomize();

for(i=0;

20;

i++)

lineto(random(100)+minx,random(100)+miny);

10;

fillellipse(random(50)+25+minx,random(50)+25+miny,random(25),random(25));

main()

charfname[50];

intflag=0;

load_convolution_matrix("

matrix.dat"

printf("

.CUTfile

(1)ortestimage(0)?

scanf("

%d"

&

flag);

flag=flag?

1:

0;

if(flag){

fflush(stdin);

filenametoprocess:

gets(fname);

Deletepixelswithxorfewerneighbors.x="

cleancut);

if(cleancut>

8)cleancut=8;

init_graphics();

setactivepage

(1);

cleardevice();

setactivepage(0);

setvisualpage(LOADPAGE);

if(flag)load_cut(fname);

elseshow_test_image();

cleanup_image();

convolve_image();

swap_pictures();

restorecrtmode();

inttoggle_colors(charc)

c=tolower(c);

c=c-'

a'

;

if(c<

0||c>

=palette.size)return0;

newpal.colors[c]=palette.colors[c]-newpal.colors[c];

setpalette(c,newpal.colors[c]);

return1;

intswap_pictures(void)

intmode=0;

chara;

for(;

){

a=getch();

if(a==27)return;

if(toggle_colors(a))continue;

if(mode==0)setvisualpage(ENHANCEPAGE);

if(mode==1)setvisualpage(LOADPAGE);

mode=1-mode;

intconvolve_image(void)

inti,j,k,nval;

int*vx,*vy,*c;

intcolmax,offset,end,midy;

char**lines=NULL;

char*temp=NULL;

offset=-minx+(cmx/2);

end=cmy-1;

midy=cmy/2;

lines=(char**)malloc(cmy*sizeof(char*));

cmy;

i++)lines[i]=(char*)malloc(sizeof(char)*(maxx-minx+cmx+1));

for(j=-cmy/2;

cmy/2;

for(i=minx-cmx/2;

(maxx+cmx/2+1);

lines[j+midy][i+offset]=getpixel(i,j+miny);

colmax=getmaxcolor();

for(j=miny;

for(i=j+cmy/2,k=minx-cmx/2,nval=maxx+cmx/2;

k<

nval;

k++)

lines[end][k+offset]=getpixel(k,i);

for(i=minx;

/*Load&

multiplyneighborsintomatrix*/

vx=vmat;

vy=vmat+1;

c=cmat;

nval=0;

for(k=0;

cmnum;

k++){

if(*c)nval+=lines[(*vy)+midy][i+(*vx)+offset]*(*c);

/*if(*c)nval+=getpixel(i+(*vx),j+(*vy))*(*c);

*/

c++;

vx+=2;

vy+=2;

/*Cutoffvaluestoohighortoolow*/

if(nval<

0)nval=0;

if(nval>

colmax)nval=colmax;

/*Placenewpixelvalue*/

putpixel(i,j,nval);

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 高中教育 > 语文

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1