VC数字图像处理编程讲座之四

VC数字图像处理编程讲座之四
VC数字图像处理编程讲座之四

VC数字图像处理编程讲座之四

BMP图像显示的特效操作

上期讲座中我们主要讲述了BMP图像数据的存取、图像的显示和调色板的操作等内容,在上面的学习基础上,我们可以进一步深化,学习并掌握图像特效显示技术。有了这种技术,可以用来在今后的项目开发中美化我们的软件界面,提高软件的视觉效果。在如今的商业软件中,几乎每一幅图像的显示都采用了图像特效显示,例如读者比较熟悉的Windows的屏幕保护程序就采用了各种各样的图像特效显示,使人感到眼花缭乱和耳目一新。专业图像处理软件更是提供了丰富的显示方式供用户使用,可以方便的在程序中实现图像的特效显示,如PhotoShop、Authorware等。本节主要介绍如何实现图像的浮雕、雕刻、百页窗、旋转、扫描、栅条、马赛克、和渐显渐隐显示等效果。通过这期讲座的学习,读者朋友们也可以自己动手制作拥有特效显示效果的软件了

图像的显示我们讲过主要有BitBlt()、SetDIBitsToDevice()和StretchDIBits()等函数。需要读者注意的是,在特效显示时,并不是每个显示函数都适宜,BitBlt()函数主要是用来显示设备无关位图(DDB),后两个函数用来显示设备无关位图(DIB)。由于我们讲座里处理的是设备无关位图,所以我们主要关心的是后两个函数的应用,其中SetDIBitsToDevice()使用起来较死板,远不如StretchDIBits()用的灵活,并且对大多数的特效显示无能为力,所以为了实现图像的特效显示效果,需要使用StretchDIBits()函数来显示图像,具体什么原因,我想可能是微软在实现这些函数时使用的方法不同吧。这些函数如何使用,各个参数

的含义,可以参考微软的MSDN。

实现图像的特殊效果的显示的基本思路是要么是操作图像的像素,要么是对图像分块按一定的方向或次序,分阶段的显示或擦除对应的图像块。对于第二种显示的思路,其中的要点是:1.划分图像块;2.确定图像块的操作次序;3.显示或清除对应的图像块;4.在两个连续显示的图像块之间插入一个固定的延迟。其中图像块的划分决定了图像的显示方式,图像块的显示顺序决定了显示的方向和细分的依据。不同的效果决定了不同的分块方法和显示次序,我们将在后面的各种特效显示中介绍如何分块和决定次序。为了使图像的显示过程明显的表现出来,实现显示的特效,就需要在图像块的依此显示中插入固定的延迟。也许读者朋友会想到利用sleep()函数或用Settime()来实现延迟,由于Windows是个基于消息的多任务操作系统,这些方法所产生的延迟时间对于图像的显示来说是不精确的,为了实现与机器无关的更精确的时间延迟,可以采用timeGetTime()函数来产生微秒级的延迟。使用这个函数时为了编译不产生错误,要在连接设置中引入“Winmm.lib”库,并要包含头文件“Mmsystem.h”。这里我们首先给出一个延迟函数,它用来实现固定时

间的延迟:

一、操作位图的像素实现显示的特效

我们首先介绍直接操作图像中的像素的灰度值来实现图像显示的特效、这里我们主要介绍如何实现图像的浮雕和雕刻效果。经常看电视的朋友们不知注意到没有,有些电视连续剧在每集片头或片尾部分都有

显示一些特殊效果的图像,比如前一阵子中央一套放的《长征》和《康熙王朝》,这些特效称为"图像的浮

雕效果"和"图像的雕刻效果",经过这些特效处理后的图像增强了观众们的视觉效果,它们看上去仿佛是使

用3D技术作的,这也许就是为什么这种技术那么流行的原因吧。其实,我们完全可以用一些简单的数字

图像处理算法来实现这些看似复杂高深的显示效果。下面以一个标准的Lena灰度图像为原图,给出了处理

后的效果图,同时给出了VC开发平台上的部分实现源代码。

1."浮雕"图像

"浮雕"图象效果是指图像的前景前向凸出背景。所谓的"浮雕"概念是指标绘图像上的一个像素和它左上方的那个像素之间差值的一种处理过程,为了使图像保持一定的亮度并呈现灰色,我在处理过程中为这个

差值加了一个数值为128的常量。需要读者注意的是,当设置一个像素值的时候,它和它左上方的像素都

要被用到,为了避免用到已经设置过的像素,应该从图像的右下方的像素开始处理,下面是实现的源代码:

void CDibView::OnFDImage() //产生"浮雕"效果图函数

{

HANDLE data1handle;//用来存放图像数据的句柄;

LPBITMAPINFOHEADER lpBi;//图像的信息头结构;

CDibDoc *pDoc=GetDocument();//得到文挡指针;

HDIB hdib;//用来存放图像数据的句柄;

unsigned char *pData;//指向原始图像数据的指针;

unsigned char *data;//指向处理后图像数据的指针;

hdib=pDoc->m_hDIB;//拷贝存放已经读取的图像文件数据句柄;

lpBi=(LPBITMAPINFOHEADER)GlobalLock((HGLOBAL)hdib);//获取图像信息头

pData=(unsigned char*)FindDIBBits((LPSTR)lpBi);

//FindDIBBits是我定义的一个函数、根据图像的结构得到位图的灰度值数据、

pDoc->SetModifiedFlag(TRUE);

//设置文档修改标志为“真”、为后续的修改存盘作准备;

data1handle=GlobalAlloc(GMEM_SHARE,WIDTHBYTES(lpBi->biWidth*8)*lpBi->biHeight);//声明一个缓冲区用来暂存处理后的图像数据;

data=(unsigned char*)GlobalLock((HGLOBAL)data1handle);//得到该缓冲区的指针;

AfxGetApp()->BeginWaitCursor();

int i,j,buf;

for( i=lpBi->biHeight; i>=2; i--)//从图像右下角开始对图像的各个像素进行“浮雕”处理;

for( j=lpBi->biWidth; j>=2; j--)

{

//浮雕处理

buf=*(pData+(lpBi->biHeight-i)*WIDTHBYTES(lpBi->biWidth*8)+j)-*(pData+(lpBi->biHeight-i+1)*WIDTHBYTES(lpBi->biWidth*8)+j-1)+128;

if(buf>255) buf=255;

2."雕刻"图像

上面讲述了通过求一个像素和它左上方像素之间的差值并加上一个常数的方法生成"浮雕"效果的灰度图像,"雕刻"图像与之相反,它是通过取一个像素和它右下方的像素之间的差值并加上一个常数,这里我也取128,经过这样处理,就可以得到"雕刻"图像,这时候图像的前景凹陷进背景之中。同样需要读者注意的是为了避免重复使用处理过的图像像素,处理图像时要从图像的左上方的像素开始处理。实现代码如下:

void CDibView::OnDKImage()

{

// TODO: Add your command handler code here

HANDLE data1handle;//这里的内部变量与前面的含义一致、这里不再赘述;

LPBITMAPINFOHEADER lpBi;

CDibDoc *pDoc=GetDocument();

HDIB hdib;

unsigned char *pData;

unsigned char *data;

hdib=pDoc->m_hDIB;//拷贝图像数据的句柄;

lpBi=(LPBITMAPINFOHEADER)GlobalLock((HGLOBAL)hdib);

pData=(unsigned char*)FindDIBBits((LPSTR)lpBi);

pDoc->SetModifiedFlag(TRUE);

data1handle=GlobalAlloc(GMEM_SHARE,WIDTHBYTES(lpBi->biWidth*8)*lpBi->biHeight);//申请缓冲

区;

data=(unsigned char*)GlobalLock((HGLOBAL)data1handle);//得到新的缓冲去的指针;

AfxGetApp()->BeginWaitCursor();

int i,j,buf;

for( i=0;i<=lpBi->biHeight-2; i++)//对图像的各个像素循环进行"雕刻"处理;

for( j=0;j<=lpBi->biWidth-2; j++)

{

buf=*(pData+(lpBi->biHeight-i)*WIDTHBYTES(lpBi->biWidth*8)+j)-*(pData+(lpBi->biHeight-i-1)*WIDTHB

YTES(lpBi->biWidth*8)+j+1)+128;//“雕刻”处理;

if(buf>255) buf=255;

if(buf<0)buf=0;

*(data+(lpBi->biHeight-i)*WIDTHBYTES(lpBi->biWidth*8)+j)=(BYTE)buf;

}

for( j=0; jbiHeight; j++)

for( i=0; ibiWidth; i++)//重新将处理后的图像数据写入原始的图像缓冲区内;

*(pData+i*WIDTHBYTES(lpBi->biWidth*8)+j)=*(data+i*WIDTHBYTES(lpBi->biWidth*8)+j);

pDoc->m_hDIB =hdib//将处理过的图像数据写回pDoc中的图像缓冲区;

GlobalUnlock((HGLOBAL)hdib);//解锁、释放缓冲区;

GlobalUnlock((HGLOBAL)data1handle);

GlobalFree((HGLOBAL)hdib);

GlobalFree((HGLOBAL)data1handle);

Invalidate(TRUE);//显示图像

}

3.图像的旋转

根据图像像素的位置来调节该位置的灰度可以实现许多显示的特效,例如图像的镜像、翻转等。灰度图像旋转就是根据这一个思想实现的,它是指把定义的图像绕某一点以逆时针或顺时针方向旋转一定的角度,通常是指绕图像的中心以逆时针方向旋转。首先根据旋转的角度、图像对角线的长度计算旋转后的图像的最大宽度、高度,根据旋转后图象最大的宽度、高度生成新的缓冲区,假设图像的左上角为(left, top),右下角为(right, bottom),则图像上任意点(x, y)绕其中心(xcenter, ycenter)逆时针旋转angle角度后,

新的坐标位置(x1, y1)的计算公式为:

与图像的镜像变换相类似,下一步就是把原图中的(x,y)处象素的灰度值读入新缓冲区的(x1,y1)点处。注意在新缓冲区中与原图没有对应的象素点的值用白色或指定的灰度代替。

二、图像的分块显示和清除

1.图像的扫描显示和清除

扫描显示图像是最基本的特效显示方法,它表现为图像一行行(或一列列)地显示出来或从屏幕上清除掉,有种大戏院种的拉幕效果。根据扫描的方向的不同,可以分为上、下、左、右、水平平分和垂直平分等六种扫描。这里以向下移动为例,分别介绍显示和清除的实现。其余的扫描效果可以依次类推。向下扫描显示的实现方法是:从图像的底部开始将图像一行一行的复制到目标区域的顶部。每复制一行后,复制的行数便要增加一行,并加上一些延迟;向下移动清除的实现方法是图像向下移动显示,并在显示区域

的上部画不断增高的矩形。

1)扫描显示的代码:

CdibView::OnImageDownScan()

{

CDibDoc *pDoc=GetDocument();

HDIB hdib;

CClientDC pDC(this);

hdib=pDoc->m_hDIB;//获取图像数据句柄;

BITMAPINFOHEADER *lpDIBHdr;//位图信息头结构指针;

BYTE *lpDIBBits;//指向位图像素灰度值的指针;

HDC hDC=pDC.GetSafeHdc();//获取当前设备上下文的句柄;

lpDIBHdr=( BITMAPINFOHEADER *)GlobalLock(hdib);//得到图像的位图头信息;

lpDIBBits=(BYTE*)lpDIBHdr+sizeof(BITMAPINFOHEADER)+256*sizeof(RGBQUAD);//获取指向图像像素

值;

SetStretchBltMode(hDC,COLORONCOLOR);

//显示图像;

for(int i=0;ibiHeight;i++)

{ //每次循环显示图象的“0”到“i”行数据;

SetDIBitsToDevice (hDC,0,0,lpDIBHdr->biWidth, lpDIBHdr->biHeight,

0, 0,0, i,

lpDIBBits,(LPBITMAPINFO)lpDIBHdr,

DIB_RGB_COLORS

);

DelayTime(50);//延迟;

}

GlobalUnlock(hdib);

return;

}

2)清除代码:

2.百页窗效果

所谓百页窗显示效果,就如同关闭和开启百页窗一样,图像被分为一条条或一列列地分别显示或清除掉,根据显示时以行或列为单位可以将该效果分为垂直或水平两种方式。以垂直百页窗为例来说明如何实现这种特效显示。实现垂直百页窗显示时,需要将图像垂直等分为n部分由上向下扫描显示,其中每一部

分包括m个条、这个n可以根据具体应用时的需要来决定、m既为图像的高度除n。扫描显示时,依照差值进行扫描显示,即第k次显示k-1、k*m-1、…k*n-1条扫描线。同样,垂直百页窗清除的实现与垂直百页窗的显示相似,不同的是将绘制位图换成画矩形而已。在下面的例子中,我将图像的分成8份。

…………………………………

int m=8;

int n=lpDIBHdr->biHeight/m;//图像的高度能够整除8;

for(int l=1;l<=m;l++)

for(int k=0;k

{ //每次循环依次显示图像中的k-1、k*m-1、…k*n-1行;

StretchDIBits (hDC,0,4*k+l-1,lpDIBHdr->biWidth,1,

0, lpDIBHdr->biHeight-4*k-l+1,lpDIBHdr->biWidth,1,

lpDIBBits,(LPBITMAPINFO)lpDIBHdr,

DIB_RGB_COLORS,

SRCCOPY);//juanlianxiaoguo

DelayTime(50);

}

…………………………………

3.栅条显示特效

栅条特效是移动特效的复杂组合,可以分为垂直栅条和水平栅条两类。它的基本思想是将图像分为垂直或水平的的小条,奇数条向上或向左显示/清除,偶数条向下或向右显示/清除。当然也可以规定进行相反的方向显示/清除。下面的代码是实现垂直栅条的例子:

…………………………………

int m=8;

for(int i=0;i<=lpDIBHdr->biHeight;i++)

for(int j=0;j<=lpDIBHdr->biWidth;j+=m)

{//向下显示偶数条;

StretchDIBits (hDC,j,0,m,i,j,lpDIBHdr->biHeight-i,

m,i,

lpDIBBits,(LPBITMAPINFO)lpDIBHdr,

DIB_RGB_COLORS,

SRCCOPY);//juanlianxiaoguo

j=j+m;

//向上显示奇数条;

StretchDIBits (hDC,j,lpDIBHdr->biHeight-i,m,i,j,0,

m,i,

lpDIBBits,(LPBITMAPINFO)lpDIBHdr,

DIB_RGB_COLORS,

SRCCOPY);//

DelayTime(20);

}…………………………………

4.马赛克效果

马赛克显示是指图像被分成许多的小块,它们以随机的次序显示出来,直到图像显示完毕。实现马赛克的效果主要解决的问题是如何定义显示随机序列的小方块,这个问题的解决可以在定义过小方块的基础上,用一个数组来记录各个方块的左上角的坐标的位置。显示图像过程中,产生一个随机数来挑选即将显示的小方块,显示后将该方块的位置坐标从数组中剔除。清除过程与之相仿。剔除显示过的方块的位置坐标的方法是将该数组中的最后的一个点的坐标拷贝到当前位置,然后删除数组中的最后点的坐标,经过实现发现这样处理有时显示的图像是不完整的,分析其原因是生成随机数的过程有舍入溢出误差。读者可以采用其它的办法解决这个问题,例如可以生成固定的随机数组或采用一个动态的数组来跟踪未显示的图像

方块的坐标等方法。

…………………………………

int m,n;

int RectSize=60;//方块的宽、高尺寸为60个像素;

if(lpDIBHdr->biWidth%RectSize!=0)//得到图像水平方块的个数;

m= lpDIBHdr->biWidth/RectSize+1;

else

m= lpDIBHdr->biWidth/RectSize;

if(lpDIBHdr->biHeight%RectSize!=0)//得到图像垂直方块的个数;

n= lpDIBHdr->biHeight/RectSize+1;

else

n=lpDIBHdr->biHeight/RectSize;

POINT *point=new POINT[n*m];//申请一个数组用来记录各个方块的左上角的坐标;

POINT point1;

for(int a=0;a

for(int b=0;b

{

point1.x=a*RectSize;

point1.y=b*RectSize;

*(point+a*b+b)=point1;

}

//开始随机的显示各个小方块;

double fMax=RAND_MAX;//定义Rand()函数的最大值;

for(int k=m*n-1;k>=0;k--)

{

int c=(int)((double)(m*n)*rand()/fMax);

int mx=point[c].x;

int my=point[c].y;

//显示对应的图像的小块;

StretchDIBits (hDC,mx,my,RectSize,RectSize,

mx,lpDIBHdr->biHeight-my,RectSize,RectSize,

lpDIBBits,(LPBITMAPINFO)lpDIBHdr,

DIB_RGB_COLORS,

5.图像的淡入淡出效果

图像的淡入淡出的显示效果被广泛的应用在多媒体娱乐软件中,是一种特别重要的特效显示方法。淡入就是将显示图像的目标区域由本色逐渐过度的图像中的各个像素点的颜色;淡出就是由显示的图像逐渐过度到目标区域的本色。实现图像的淡入淡出有两种办法:一是均匀的改变图像的调色板中的颜色索引值;另一种方法是改变图像像素的灰度值。第一种方法实现起来比较繁琐,第二种方法就比较简单。下面是我

们采用第二种方法实现图像淡入效果的代码:

…………………………………

//申请一个与图像缓冲区相同大小的内存;

hdibcopy=(HDIB)GlobalAlloc(GMEM_SHARE,lpDIBHdr->biWidth*lpDIBHdr->biHeight);

lpbits=(BYTE*)GlobalLock(hdibcopy);

//将缓冲区的数据初始化;

for(int k=0;kbiWidth*lpDIBHdr->biHeight;k++)

{

*(lpbits+k)=(BYTE)255;

}

//显示最初的图像为“白色”

StretchDIBits (hDC,0,0,lpDIBHdr->biWidth,lpDIBHdr->biHeight,0,0,

lpDIBHdr->biWidth,lpDIBHdr->biHeight,

lpbits,(LPBITMAPINFO)lpDIBHdr,

DIB_RGB_COLORS,

SRCCOPY);

//布尔变量end用来标志何时淡入处理结束;

BOOL end=false;

while(!end)

{ int a=0;

for(int k=0;kbiWidth*lpDIBHdr->biHeight;k++)

{

//判断是否待显示的像素的灰度值已经小于原始图像对应点的灰度值,如是则计数;

if(*(lpbits+k)<*(lpDIBBits+k))

a++;

else//否则对应点的灰度值继续减少;

*(lpbits+k)-=(BYTE)10;

}

//显示处理后的图像数据lpbits;

StretchDIBits (hDC,0,0,lpDIBHdr->biWidth,lpDIBHdr->biHeight,0,0,

本文上面的内容介绍了几种图像的特殊显示效果,代码在Windows2000和Visual C++6.0编程环境下编译通过,运行正常,处理达到了预期的效果。读者可以将上面介绍的显示图像的函数和处理思路结合起来,实现更多效果

数字图像处理教学大纲(2014新版)

数字图像处理 课程编码:3073009223 课程名称:数字图像处理 总学分: 2 总学时:32 (讲课28,实验4) 课程英文名称:Digital Image Processing 先修课程:概率论与数理统计、线性代数、C++程序设计 适用专业:自动化专业等 一、课程性质、地位和任务 数字图像处理课程是自动化专业的专业选修课。本课程着重于培养学生解决智能化检测与控制中应用问题的初步能力,为在计算机视觉、模式识别等领域从事研究与开发打下坚实的理论基础。主要任务是学习数字图像处理的基本概念、基本原理、实现方法和实用技术,并能应用这些基本方法开发数字图像处理系统,为学习图像处理新方法奠定理论基础。 二、教学目标及要求 1.了解图像处理的概念及图像处理系统组成。 2.掌握数字图像处理中的灰度变换和空间滤波的各种方法。 3.了解图像变换,主要是离散和快速傅里叶变换等的原理及性质。 4.理解图像复原与重建技术中空间域和频域滤波的各种方法。 5. 理解解彩色图像的基础概念、模型和处理方法。 6. 了解形态学图像处理技术。 7. 了解图像分割的基本概念和方法。 三、教学内容及安排 第一章:绪论(2学时) 教学目标:了解数字图像处理的基本概念,发展历史,应用领域和研究内容。通过大量的实例讲解数字图像处理的应用领域;了解数字图像处理的基本步骤;了解图像处理系统的组成。 重点难点:数字图像处理基本步骤和图像处理系统的各组成部分构成。 1.1 什么是数字图像处理 1.2 数字图像处理的起源

1.3.1 伽马射线成像 1.3.2 X射线成像 1.3.3 紫外波段成像 1.3.4 可见光及红外波段成像 1.3.5 微波波段成像 1.3.6 无线电波成像 1.3.7 使用其他成像方式的例子 1.4 数字图像处理的基本步骤 1.5 图像处理系统的组成 第二章:数字图像基础(4学时) 教学目标:了解视觉感知要素;了解几种常用的图像获取方法;掌握图像的数字化过程及其图像分辨率之间的关系;掌握像素间的联系的概念;了解数字图像处理中的常用数学工具。 重点难点:要求重点掌握图像数字化过程及图像中像素的联系。 2.1 视觉感知要素(1学时) 2.1.1 人眼的构造 2.1.2 眼镜中图像的形成 2.1.3 亮度适应和辨别 2.2 光和电磁波谱 2.3 图像感知和获取(1学时) 2.3.1 用单个传感器获取图像 2.3.2 用条带传感器获取图像 2.3.3 用传感器阵列获取图像 2.3.4 简单的图像形成模型 2.4 图像取样和量化(1学时) 2.4.1 取样和量化的基本概念 2.4.2 数字图像表示 2.4.3 空间和灰度级分辨率 2.4.4 图像内插 2.5 像素间的一些基本关系(1学时) 2.5.1 相邻像素 2.5.2 临接性、连通性、区域和边界 2.5.3 距离度量 2.6 数字图像处理中所用数学工具的介绍 2.6.1 阵列与矩阵操作

数字图像处理知

数字图像处理知识点总结

数字图像处理知识点总结 第一章导论 1.图像:对客观对象的一种相似性的生动性的描述或写真。 2.图像分类:按可见性(可见图像、不可见图像),按波段数(单波段、多波段、超波段), 按空间坐标和亮度的连续性(模拟和数字)。3.图像处理:对图像进行一系列操作,以到达预期目的的技术。 4.图像处理三个层次:狭义图像处理、图像分析和图像理解。 5.图像处理五个模块:采集、显示、存储、通信、处理和分析。 第二章数字图像处理的基本概念 6.模拟图像的表示:f(x,y)=i(x,y)×r(x,y),照度分量0

称为采样。采样间隔和采样孔径的大小是两个 很重要的参数。采样方式:有缝、无缝和重叠。 9.将像素灰度转换成离散的整数值的过程叫量化。 10.表示像素明暗程度的整数称为像素的灰度级(或灰度值或灰度)。 11.数字图像根据灰度级数的差异可分为:黑白图像、灰度图像和彩色图像。 12.采样间隔对图像质量的影响:一般来说,采样间隔越大,所得图像像素数越少,空间分 辨率低,质量差,严重时出现像素呈块状的国际棋盘效应;采样间隔越小,所得图像像素数越多,空间分辨率高,图像质量好,但数据量大。13.量化等级对图像质量的影响:量化等级越多,所得图像层次越丰富,灰度分辨率高,图 像质量好,但数据量大;量化等级越少,图像层次欠丰富,灰度分辨率低,会出现假轮廓现象,图像质量变差,但数据量小。但在极少数情况下对固定图像大小时,减少灰度级能改善质量,产生这种情况的最可能原因是减少灰度级一般会增加图像的对比度。例如对细节比较丰富的图像数字化。

基于数字图像处理

基于数字图像处理 的目标识别 通过这半个学期对数字图像处理这门课程的学习,我了解了有关数字图像处理的知识,并且对数字图像处理的相关仿真软件——matlab有了更加深入的了解,可以更加熟练的使用matlab软件处理实际问题,从而促进我对数字图像处理这门课程产生更加浓烈的兴趣,也让我对这种仿真软件有了更加全面的认识,了解它更多的功能。在课程结束之际,我利用自己在课堂上学习的一些知识和在课下学习的东西写出以下总结。希望老师给予耐心指导。 一、数字图像处理技术 数字图像处理(Dital Image Processing)又称为计算机图像处理,它是指将图像信号转换成数字信号并利用计算机对其进行处理的过程。数字图像处理是一种通过计算机采用一定的算法对图形图像进行处理的技术。数字图像处理技术已经在各个领域上都有了比较广泛的应用。从接近人们日常生活的照相,电视图像显示,到工业上面对某些零件的处理等,再到军事类的人像识别,雷达目标识别等,这些都离不开数字图像处理的身影。 图像处理的信息量很大,对处理速度的要求也比较高。Matlab强大的运算和图形展示功能,使图像处理变得更加的简单和直观。本文基于

MATLAB的数字图像处理环境,设计并实现了一个图像处理系统,展示如何通过利用Matlab的工具函数和多种算法实现对图形图像的各种处理。论述了利用设计的系统实现图像文件(bmp、jpg、tiff、gif等)进行打开、保存、另存、打印、退出等功能操作,图像预处理功能(包括彩色图像的灰度化变换等、一般灰度图像的二值化处理、色彩增强等),图像分割,图像特征提取等图像处理。 图像的数学表达式可表示为:f(x,y)表示幅图像。x,y,f为有限、离散值。黑白图像可用二维函数f(x,y)表示,其中x,y是平面的二维坐标,f(x,y)表示点(x,y)的亮度值(灰度值)。对模拟图像来讲,f(x,y)显然是连续函数。为了适应数字计算机的处理,必须对连续图像函数进行空间和幅值数字化。空间坐标(x,y)的数字化称为图像采样,而幅值数字化被称为灰度级量化。经过数字化后的图像称为数字图像(或离散图像)。 F(x,y,z)表示三维的图像,f 为点的分布,有限,离散值,为彩色图像的表示方式。 (1)数字图像的灰度图像的阵列表示法。 设连续图像f(x,y)按等间隔采样,排成MxN阵列(一般取方阵列NxN) 图像阵列中每个元素都是离散值,称为像素(pix—el)。在数字图像处理中,一般取阵列N和灰度级C都是2的整数幂,即取N=及G=。对一般电视图像,N取256或512,灰度级C取64级(m=6bit)至256级m=8bit),即可满足图像处理的需要。对特殊要求的图像,如SAR图片取 10000×10000,灰度级m取8bit或者16bit。

数字图像处理实验指导书模板

《数字图像处理》实验指导书 编写: 罗建军 海南大学三亚学院 10月

目录 一、概述 ....................................................................... 错误!未定义书签。 二、建立程序框架 ....................................................... 错误!未定义书签。 三、建立图像类 ........................................................... 错误!未定义书签。 四、定义图像文档实现图像读/写.............................. 错误!未定义书签。 五、实现图像显示 ....................................................... 错误!未定义书签。 六、建立图像处理类................................................... 错误!未定义书签。 七、实现颜色处理功能............................................... 错误!未定义书签。 (一) 亮度处理................................................................. 错误!未定义书签。 (二) 对比度处理............................................................. 错误!未定义书签。 (三) 色阶处理................................................................. 错误!未定义书签。 (四) 伽马变换................................................................. 错误!未定义书签。 (五) 饱和度处理............................................................. 错误!未定义书签。 (六) 色调处理................................................................. 错误!未定义书签。 八、实现几何变换功能............................................... 错误!未定义书签。 (一) 图像缩放................................................................. 错误!未定义书签。 (二) 旋转......................................................................... 错误!未定义书签。 (三) 水平镜像................................................................. 错误!未定义书签。 (四) 垂直镜像................................................................. 错误!未定义书签。 (五) 右转90度................................................................. 错误!未定义书签。 (六) 左转90度................................................................. 错误!未定义书签。 (七) 旋转180度............................................................... 错误!未定义书签。 九、实现平滑锐化功能............................................... 错误!未定义书签。 十、图像处理扩展编程............................................... 错误!未定义书签。

基于数字图像处理的车牌识别系统

基于数字图像处理的车牌识别系统

基于数字图像处理的车牌识别系统 言经官 电气学院电子112 摘要:车牌识别系统(License Plate Recognition 简称LPR)技术基于数字图像处理,是智能交通系统中的关键技术,同时他的发展也十分迅速,已经逐渐融入到我们的现实生活中。文章介绍了车牌识别系统的意义、图像去噪处理以及图像二值化方法,并通过仿真试验模拟了图像处理的过程。本文所做的工作在于前期的图像预处理工作。本次设计着重在于图像识别方面, 中心工作都为此而展开,文中没有进行车牌的定位处理,而是采用数码相机直接对牌照进行正面拍照,获取原始车牌图像。之后利用Matlab编程对图片进行了大小的调整、彩色图片转化成灰度图片、图片去噪、以及图片二值化等工作。其中,去噪与二值化是关系图像识别率的关键。 关键字:车牌识别系统;图像预处理;字符识别;Matlab;去噪;二值化 引言 智能交通系统(ITS)是当今世界交通管理体系发展的必然趋势,而作为智能交通系统中的重要组成部分之一的车牌自动识别技术,目前已被广泛应用于城市道路监控、高速公路收费与监控、小区与停车场出入口管理、公安治安卡口等场合,成为研究的热点。 伴随我国国民经济的高速发展,国内高速公路、城市道路、停车场建设越来越多,对交通控制,安全管理的要求也日益提高。因此迫切需要采用高科技手段,对违法违章车辆牌照进行登记, 在这种情况下,作为信息来源的自动检索,图像识别技术越来越受到人们的重视。车牌识别系统的出现成为了交通管制必不可少的有力武器。 1 车牌识别系统的目标 利用计算机等辅助设备进行的自动汽车牌照自动识别就是在装备了数字摄像设备和计算机信息管理系统等软硬件平台的基础之上,通过对车辆图像的采集,采用先进的图像处理、模式识别和人工智能技术,在图像中找到车牌的位置,提取出组成车牌号码的全部字符图像,再识别出车牌中的文字、字母和数字,最后给出车牌的真实号码。国外的车牌识别研究始于80 年代,90 年代始已有不少成套的产品出现。由于我国车牌的组成及组合的方式与国外的车牌不一致,使得我们不能直接使用国外的车辆牌照识别系统,而必须针对我国车牌重新设计相应的车辆牌照识别系统。车牌识别的使用环境、背景各有差异,目前还没有一种算法能在不同环境、各种复杂背景条件下达到非常高的车牌识别率,因而车牌识别技术仍然是研究的重点。 2 MATLAB 及其图像处理工具概述 MATLAB 是MAT rix LABora tory( 矩阵实验室) 的缩写, 是Ma thWorks 公司开发的一种功能强、效率高、简单易学的数学软件。MATLAB 7. 1 是一套功能十分强大的工程计算及数据分析软件, 其应用范围涵盖了数学、工业技术、电子科学、医疗卫生、建筑、金融、数字图像处理等各个领域。MATLAB 的图像处理工具箱, 功能十分强大, 支持的图像文件格式丰富, 如* .BMP、* . JPG、* . JPEG、* . GIF、* . ti;f% 95% 94、* . ti;f%95%94F、* . PNG、* . PCX、* . XWD、* . HDF、* . ICO、* .CUR 等。本文将给出MATLAB的图像处理工具箱中的图像处理函数实现图像处理与分析的应用技术实例。

《数字图像处理》课程学习心得

《数字图像处理》课程学习心得 导读:本文《数字图像处理》课程学习心得,仅供参考,如果能帮助到您,欢迎点评和分享。 《数字图像处理》课程学习心得(一) 在这一学期,我选修了《数字图像处理基础》这门课程,同时,老师还讲授了一些视频处理的知识。在这里,梳理一下这学期学到的知识,并提出一些我对这门课程的建议。 图像处理是指对图像信息进行加工,从而满足人类的心理、视觉或者应用的需求的一种行为。图像处理方法一般有数字法和光学法两种,其中数字法的优势很明显,已经被应用到了很多领域中,相信随着科学技术的发展,其应用空间将会更加广泛。数字图像处理又称为计算机图像处理,它是指将图像信号转换成数字信号并利用计算机对其进行处理的过程。数字图像处理是从20世纪60年代以来随着计算机技术和VLSL的发展而产生、发展和不断成熟起来的一个新兴技术领域。数字图像处理技术其实就是利用各种数字硬件与计算机,对图像信息通过转换而得到的电信号进行相应的数学运算,例如图像去噪、图像分割、提取特征、图像增强、图像复原等,以便提高图像的实用性。其特点是处理精度比较高,并且能够对处理软件进行改进来优化处理效果,操作比较方便,但是由于数字图像需要处理的数据量一般很大,因此处理速度有待提高。目前,随着计算机技术的不断发展,计算机的运算速度得到了很大程度的提高。在短短的历史中,它

却广泛应用于几乎所有与成像有关的领域,在理论上和实际应用上都取得了巨大的成就。 1、数字图像处理需用到的关键技术 由于数字图像处理的方便性和灵活性,因此数字图像处理技术已经成为了图像处理领域中的主流。数字图像处理技术主要涉及到的关键技术有:图像的采集与数字化、图像的编码、图像的增强、图像恢复、图像分割、图像分析等。 图像的采集与数字化:就是通过量化和取样将一个自然图像转换为计算机能够处理的数字形式。 图像编码:图像编码的目的主要是来压缩图像的信息量,以便能够满足存储和传输的要求。 图像的增强:图像的增强其主要目的是使图像变得清晰或者将其变换为机器能够很容易分析的形式,图像增强方法一般有:直方图处理、灰度等级、伪彩色处理、边缘锐化、干扰抵制。 图像的恢复:图像恢复的目的是减少或除去在获得图像的过程中因为各种原因而产生的退化,可能是由于光学系统的离焦或像差、被摄物与摄像系统两者之间的相对运动、光学或电子系统的噪声与介于被摄像物跟摄像系统之间的大气湍流等等。 图像的分割:图像分割是将图像划分为一些互相不重叠的区域,其中每一个区域都是像素的一个连续集,通常采用区域法或者寻求区域边界的境界法。 图像分析:图像分析是指从图像中抽取某些有用的信息、数据或

数字图像处理

基于MATLAB的数字图像空域平滑法 摘要:本文通过在MATLAB环境下,对比中值滤波与均值滤波处理带有椒盐噪声的图像,中值滤波不同模板处理加入椒盐噪声的图像以及中值滤波处理加入不同噪声图像的效果图,分析中值滤波的优缺点。 1 引言 图像平滑的目的是为了去除或衰减图像中的噪声和假轮廓,它可以分为空域法和频域法.而空域法就是直接对图像的像素灰度值进行处理,以达到滤除或衰减图像中噪声的目的.空域法主要包括基于平均的方法和中值滤波法.本文重点以中值滤波法为主,详细介绍MATLAB环境下,中值滤波相对均值滤波的优缺点,不同模板中值滤波对加入椒盐噪声图像的处理效果以及中值滤波法对加入不同噪声图像的处理效果。 2 中值滤波的概念 中值滤波是一种典型的低通滤波器,属于非线性滤波技术,它的目的是保护图像边缘的同时去除噪声。所谓中值滤波,是指把以某点(x,y)为中心的小窗口内的所有象素的灰度按从大到小的顺序排列,若窗口中的象素为奇数个,则将中间值作为(x,y)处的灰度值。若窗口中的象素为偶数个,则取两个中间值的平均值作为(x,y)处的灰度值。中值滤波对去除椒盐噪声很有效。中值滤波器的缺点是对所有象素点采用一致的处理,在滤除噪声的同时有可能改变真正象素点的值,引入误差,损坏图像的边缘和细节。 3 中值滤波器与均值滤波器的比较 本文采用的图像是一幅多值图像,首先将其灰度化,并加入椒盐噪声,在MATALB环境下,采用3*3窗口的中值滤波器与均值滤波器处理此图像,编写程序如下: A=imread('1.jpg'); h=ones(3,3)/9; A_zh=rgb2gray(A); A_noi=imnoise(A_zh,'salt & pepper',0.02); A_med=medfilt2(A_noi); A_low=imfilter(A_noi,h); subplot(2,2,1);imshow(A_zh);title('灰度图像'); subplot(2,2,2);imshow(A_noi);title('加入椒盐噪声的图像'); subplot(2,2,3);imshow(A_med);title('中值滤波图像'); subplot(2,2,4);imshow(A_low);title('均值滤波图像'); 程序运行结果如图2所示。图像文件1.jpg中存储着一幅彩色图像,把该文件读入后使用函数imadjust进行调整。调整后的范围是默认的范围【0 0 0;1 1 1】,

基于数字图像处理的车牌识别系统

基于数字图像处理的车牌识别系统 言经官 电气学院电子112 摘要:车牌识别系统(License Plate Recognition 简称LPR)技术基于数字图像处理,是智能交通系统中的关键技术,同时他的发展也十分迅速,已经逐渐融入到我们的现实生活中。文章介绍了车牌识别系统的意义、图像去噪处理以及图像二值化方法,并通过仿真试验模拟了图像处理的过程。本文所做的工作在于前期的图像预处理工作。本次设计着重在于图像识别方面, 中心工作都为此而展开,文中没有进行车牌的定位处理,而是采用数码相机直接对牌照进行正面拍照,获取原始车牌图像。之后利用Matlab编程对图片进行了大小的调整、彩色图片转化成灰度图片、图片去噪、以及图片二值化等工作。其中,去噪与二值化是关系图像识别率的关键。 关键字:车牌识别系统;图像预处理;字符识别;Matlab;去噪;二值化 引言 智能交通系统(ITS)是当今世界交通管理体系发展的必然趋势,而作为智能交通系统中的重要组成部分之一的车牌自动识别技术,目前已被广泛应用于城市道路监控、高速公路收费与监控、小区与停车场出入口管理、公安治安卡口等场合,成为研究的热点。 伴随我国国民经济的高速发展,国内高速公路、城市道路、停车场建设越来越多,对交通控制,安全管理的要求也日益提高。因此迫切需要采用高科技手段,对违法违章车辆牌照进行登记, 在这种情况下,作为信息来源的自动检索,图像识别技术越来越受到人们的重视。车牌识别系统的出现成为了交通管制必不可少的有力武器。 1 车牌识别系统的目标 利用计算机等辅助设备进行的自动汽车牌照自动识别就是在装备了数字摄像设备和计算机信息管理系统等软硬件平台的基础之上,通过对车辆图像的采集,采用先进的图像处理、模式识别和人工智能技术,在图像中找到车牌的位置,提取出组成车牌号码的全部字符图像,再识别出车牌中的文字、字母和数字,最后给出车牌的真实号码。国外的车牌识别研究始于80 年代,90 年代始已有不少成套的产品出现。由于我国车牌的组成及组合的方式与国外的车牌不一致,使得我们不能直接使用国外的车辆牌照识别系统,而必须针对我国车牌重新设计相应的车辆牌照识别系统。车牌识别的使用环境、背景各有差异,目前还没有一种算法能在不同环境、各种复杂背景条件下达到非常高的车牌识别率,因而车牌识别技术仍然是研究的重点。 2 MATLAB 及其图像处理工具概述 MATLAB 是MAT rix LABora tory( 矩阵实验室) 的缩写, 是Ma thWorks 公司开发的一种功能强、效率高、简单易学的数学软件。MATLAB 7. 1 是一套功能十分强大的工程计算及数据分析软件, 其应用范围涵盖了数学、工业技术、电子科学、医疗卫生、建筑、金融、数字图像处理等各个领域。MATLAB 的图像处理工具箱, 功能十分强大, 支持的图像文件格式丰富, 如* .BMP、* . JPG、* . JPEG、* . GIF、* . ti;f% 95% 94、* . ti;f%95%94F、* . PNG、* . PCX、* . XWD、* . HDF、* . ICO、* .CUR 等。本文将给出MATLAB的图像处理工具箱中的图像处理函数实现图像处理与分析的应用技术实例。

数字图像处理基础知识总结

第一章数字图像处理概论 *图像是对客观存在对象的一种相似性的、生动性的描述或写真。 *模拟图像 空间坐标和明暗程度都是连续变化的、计算机无法直接处理的图像 *数字图像 空间坐标和灰度均不连续的、用离散的数字(一般整数)表示的图像(计算机能处理)。是图像的数字表示,像素是其最小的单位。 *数字图像处理(Digital Image Processing) 利用计算机对数字图像进行(去除噪声、增强、复原、分割、特征提取、识别等)系列操作,从而获得某种预期的结果的技术。(计算机图像处理) *数字图像处理的特点(优势) (1)处理精度高,再现性好。(2)易于控制处理效果。(3)处理的多样性。(4)图像数据量庞大。(5)图像处理技术综合性强。 *数字图像处理的目的 (1)提高图像的视感质量,以达到赏心悦目的目的 a.去除图像中的噪声; b.改变图像的亮度、颜色; c.增强图像中的某些成份、抑制某些成份; d.对图像进行几何变换等,达到艺术效果; (2)提取图像中所包含的某些特征或特殊信息。 a.模式识别、计算机视觉的预处理 (3)对图像数据进行变换、编码和压缩,以便于图像的存储和传输。 **数字图像处理的主要研究内容 (1)图像的数字化 a.如何将一幅光学图像表示成一组数字,既不失真又便于计算机分析处理 b.主要包括的是图像的采样与量化 (2*)图像的增强 a.加强图像的有用信息,消弱干扰和噪声 (3)图像的恢复 a.把退化、模糊了的图像复原。模糊的原因有许多种,最常见的有运动模糊,散焦模糊等(4*)图像的编码 a.简化图像的表示,压缩表示图像的数据,以便于存储和传输。 (5)图像的重建 a.由二维图像重建三维图像(如CT) (6)图像的分析 a.对图像中的不同对象进行分割、分类、识别和描述、解释。 (7)图像分割与特征提取 a.图像分割是指将一幅图像的区域根据分析对象进行分割。 b.图像的特征提取包括了形状特征、纹理特征、颜色特征等。 (8)图像隐藏 a.是指媒体信息的相互隐藏。 b.数字水印。 c.图像的信息伪装。 (9)图像通信

数字图像处理代码大全

1.图像反转 MATLAB程序实现如下: I=imread('xian.bmp'); J=double(I); J=-J+(256-1); %图像反转线性变换 H=uint8(J); subplot(1,2,1),imshow(I); subplot(1,2,2),imshow(H); 2.灰度线性变换 MATLAB程序实现如下: I=imread('xian.bmp'); subplot(2,2,1),imshow(I); title('原始图像'); axis([50,250,50,200]); axis on; %显示坐标系 I1=rgb2gray(I); subplot(2,2,2),imshow(I1); title('灰度图像'); axis([50,250,50,200]); axis on; %显示坐标系 J=imadjust(I1,[0.1 0.5],[]); %局部拉伸,把[0.1 0.5]的灰度拉伸为[0 1]

subplot(2,2,3),imshow(J); title('线性变换图像[0.1 0.5]'); axis([50,250,50,200]); grid on; %显示网格线 axis on; %显示坐标系 K=imadjust(I1,[0.3 0.7],[]); %局部拉伸,把[0.3 0.7]的灰度拉伸为[0 1] subplot(2,2,4),imshow(K); title('线性变换图像[0.3 0.7]'); axis([50,250,50,200]); grid on; %显示网格线 axis on; %显示坐标系 3.非线性变换 MATLAB程序实现如下: I=imread('xian.bmp'); I1=rgb2gray(I); subplot(1,2,1),imshow(I1); title('灰度图像'); axis([50,250,50,200]); grid on; %显示网格线 axis on; %显示坐标系 J=double(I1);

基于Matlab的数字图像处理系统毕业设计论文

论文(设计)题目: 基于MATLAB的数字图像处理系统设计 姓名宋立涛 学号201211867 学院信息学院 专业电子与通信工程 年级2012级 2013年6月16日

基于MATLAB的数字图像处理系统设计 摘要 MATLAB 作为国内外流行的数字计算软件,具有强大的图像处理功能,界面简洁,操作直观,容易上手,而且是图像处理系统的理想开发工具。 笔者阐述了一种基于MATLAB的数字图像处理系统设计,其中包括图像处理领域的大部分算法,运用MATLAB 的图像处理工具箱对算法进行了实现,论述了利用系统进行图像显示、图形表换及图像处理过程,系统支持索引图像、灰度图像、二值图像、RGB 图像等图像类型;支持BMP、GIF、JPEG、TIFF、PNG 等图像文件格式的读,写和显示。 上述功能均是在MA TLAB 语言的基础上,编写代码实现的。这些功能在日常生活中有很强的应用价值,对于运算量大、过程复杂、速度慢的功能,利用MATLAB 可以既能快速得到数据结果,又能得到比较直观的图示。 关键词:MATLAB 数字图像处理图像处理工具箱图像变换

第一章绪论 1.1 研究目的及意义 图像信息是人类获得外界信息的主要来源,近代科学研究、军事技术、工农业生产、医学、气象及天文学等领域中,人们越来越多地利用图像信息来认识和判断事物,解决实际问题,由此可见图像信息的重要性,数字图像处理技术将会伴随着未来信息领域技术的发展,更加深入到生产和科研活动中,成为人类生产和生活中必不可少的内容。 MATLAB 软件不断吸收各学科领域权威人士所编写的实用程序,经过多年的逐步发展与不断完善,是近几年来在国内外广泛流行的一种可视化科学计算软件。MATLAB 语言是一种面向科学与工程计算的高级语言,允许用数学形式的语言来编写程序,比Basic、Fortan、C 等高级语言更加接近我们书写计算公式的思维方式,用MATLAB 编写程序犹如在演算纸上排列出公式与求解问题一样。它编写简单、编程效率高并且通俗易懂。 1.2 国内外研究现状 1.2.1 国内研究现状 国内在此领域的研究中具有代表性的是清华大学研制的数字图像处理实验开发系统TDB-IDK 和南京东大互联技术有限公司研制的数字图像采集传输与处理实验软件。 TDB-IDK 系列产品是一款基于TMS320C6000 DSP 数字信号处理器的高级视频和图像系统,也是一套DSP 的完整的视频、图像解决方案,该系统适合院校、研究所和企业进行视频、图像方面的实验与开发。该软件能够完成图像采集输入程序、图像输出程序、图像基本算法程序。可实现对图像信号的实时分析,图像数据相对DSP独立方便开发人员对图像进行处理,该产品融合DSP 和FPGACPLD 两个高端技术,可以根据用户的具体需求合理改动,可以分析黑白和彩色信号,可以完成图形显示功能。 南京东大互联技术有限公司研制的数字图像采集传输与处理实验软件可实现数字图像的采集、传输与处理。可利用软件及图像采集与传输设备,采集图像并实现点对点的数字图像传输,可以观察理解多种图像处理技术的效果和差别,

(完整版)学习数字图像处理心得

学习数字图像处理心得 姓名:黄冬芬学号:070212051 班级:12级通信工程1班数字图像是我们生活中接触最多的图像种类,他伴随人们的生活、学习、工作,并在军事、工业和医学方面发挥着极大地作用,可谓随处可见,尤其在生活方面作为学生的我们,会在外出旅游,生活和工作中拆下许多数字照片,现在已进入信息化时代,图片作为信息的重要载体,在信息传输方面有着不可替代的作用,并且近年来图像处理领域,数字图像处理技术取得了飞速的发展,作为计算机类专业的大学生更加有必要对数字图像处理技术有一定的掌握,而大多数人对于数字图像的知识也很模糊,比如各类繁多的各种图像格式之间的特点,不同的情况该用何种图像格式,还有关于图像的一些基本术语也不甚了解。尤为重要的是一些由于拍摄问题导致的令人不甚满意的照片该如何处理,或者如何对一些照片进行处理实现特殊的表现效果。所以对于数字图像处理这门课大家有着极大地兴趣。我们班有的同学学过Photoshop软件,因此对于数字图像处理有了一些基础,更加想利用这门课的学习加深自己数字图像处理的理解并提高在数字图像处理方面的能力。 通过这8周的学习,我们虽然还没有完全掌握数字图像处理技术,但是收获不少,对于数字图像方面的知识有了更深的了解。更加理解了数字图像处理的本质,即是一些数字矩阵,但灰度图像和彩色图像的矩阵形式是不同的。对于一些耳熟能详的数字图像相关的术语有了明确的认识,比如,常见的像素(衡量图像的大小)、分辨率(衡

量图像的清晰程度)、位图(放大后会失真)、矢量图(经过放大不会失真)等大家都能叫上口但都很模糊的名词。也了解图像处理技术中一些常用处理技术的实质,比如锐化处理是使模糊的图像变清晰,增强图片的边缘等细节。而平滑处理的目的是消除噪声、模糊图像,在提取大目标之前去除小的细节或弥合目标间的缝隙。对常见的RGB图像和灰度图像有了明确的理解,这对大家以后应用Photoshop等图像处理软件对图像进行处理打下了坚实的基础。更重要的是学习到了数字图像处理的思想。通过学习也是对C++编程应用的很好的实践和复习。 当然通过8周的学习还远远不够,也有许多同学收获甚微,我总结了下大家后期学习的态度与前期学习的热情相差很大的原因。刚开始大家是有很高的热情去学习这门课,可随着这门课的更深入的学习,大家渐渐发现课程讲授内容与自己起初想学的实用图像处理技术是有很大的差别的,大家更着眼于如何利用软件、技术去处理图像而得到满意的效果,或者进行一些图像的创意设计,可是课程的内容更偏向于如何通过编程实现如何多图像进行一些类似锐化、边缘提取、模糊、去除噪声等基础功能的实现,这其中涉及很多算法、函数,需要扎实的数学基础和编程基础,并且需要利用大量时间在课下编写代码,并用visual c++软件实现并进行调试,然而大部分人的C++实践能力和编程能力还有待提高,尤其是对于矩阵进行操作的编程尤为是个考验。 在老师授课方面的建议是可以再课上多进行一些具体操作,这

数字图像处理试题及答案

一、填空题(每题1分,共15分) 1、列举数字图像处理的三个应用领域 医学 、天文学 、 军事 2、存储一幅大小为10241024?,256个灰度级的图像,需要 8M bit 。 3、亮度鉴别实验表明,韦伯比越大,则亮度鉴别能力越 差 。 4、直方图均衡化适用于增强直方图呈 尖峰 分布的图像。 5、依据图像的保真度,图像压缩可分为 无损压缩 和 有损压缩 6、图像压缩是建立在图像存在 编码冗余 、 像素间冗余 、 心理视觉冗余 三种冗余基础上。 7、对于彩色图像,通常用以区别颜色的特性是 色调 、 饱和度 亮度 。 8、对于拉普拉斯算子运算过程中图像出现负值的情况,写出一种标定方法: m i n m a x m i ((,))*255/()g x y g g g -- 二、选择题(每题2分,共20分) 1、采用幂次变换进行灰度变换时,当幂次取大于1时,该变换是针对如下哪一类图像进行增强。 ( B ) A 图像整体偏暗 B 图像整体偏亮 C 图像细节淹没在暗背景中 D 图像同时存在过亮和过暗背景 2、图像灰度方差说明了图像哪一个属性。( B ) A 平均灰度 B 图像对比度 C 图像整体亮度 D 图像细节 3、计算机显示器主要采用哪一种彩色模型( A ) A 、RG B B 、CMY 或CMYK C 、HSI D 、HSV 4、采用模板[-1 1]T 主要检测( A )方向的边缘。 A.水平 B.45? C.垂直 D.135? 5、下列算法中属于图象锐化处理的是:( C ) A.低通滤波 B.加权平均法 C.高通滤波 D. 中值滤波 6、维纳滤波器通常用于( C ) A 、去噪 B 、减小图像动态范围 C 、复原图像 D 、平滑图像 7、彩色图像增强时, C 处理可以采用RGB 彩色模型。 A. 直方图均衡化 B. 同态滤波 C. 加权均值滤波 D. 中值滤波 8、__B__滤波器在对图像复原过程中需要计算噪声功率谱和图像功率谱。 A. 逆滤波 B. 维纳滤波 C. 约束最小二乘滤波 D. 同态滤波 9、高通滤波后的图像通常较暗,为改善这种情况,将高通滤波器的转移函数加上一常数量以便引入 一些低频分量。这样的滤波器叫 B 。 A. 巴特沃斯高通滤波器 B. 高频提升滤波器 C. 高频加强滤波器 D. 理想高通滤波器 10、图象与灰度直方图间的对应关系是 B __ A.一一对应 B.多对一 C.一对多 D.都不 三、判断题(每题1分,共10分)

数字图像处理课程设计报告

本科综合课程设计报告 题 目 ____________________________ 指导教师__________________________ 辅导教师__________________________ 学生姓名__________________________ 学生学号__________________________ _______________________________ 院(部)____________________________专业________________班 ___2008___年 _12__月 _30__日 数字图像处理演示系统 信息科学与技术学院 通信工程 052

1 主要内容 1.1数字图像处理背景及应用 数字图像处理的目的是改善图像的质量,它以人为对象,以改善人的视觉效果为目的。目前,图像处理演示系统应用领域广泛医学、军事、科研、商业等领域。因为数字图像处理技术易于实现非线性处理,处理程序和处理参数可变,故是一项通用性强,精度高,处理方法灵活,信息保存、传送可靠的图像处理技术。本图像处理演示系统以数字图像处理理论为基础,对某些常用功能进行界面化设计,便于初级用户的操作。 1.2 图像处理演示系统设计要求 能加载和显示原始图像,显示和输出处理后的图像; 系统要便于维护和具备可扩展性; 界面友好便于操作; 1.3 图像处理演示系统设计任务 数字图像处理演示系统应该具备图像的几何变换(平移、缩放、旋转、翻转)、图像增强(空间域的平滑滤波与锐化滤波)的简单处理功能。 1.3.1几何变换 几何变换又称为几何运算,它是图像处理和图像分析的重要内容之一。通过几何运算,可以根据应用的需要使原图像产生大小、形状、和位置等各方面的变化。简单的说,几何变换可以改变像素点所在的几何位置,以及图像中各物体之间的空间位置关系,这种运算可以被看成是将各物体在图像内移动,特别是图像具有一定的规律性时,一个图像可以由另外一个图像通过几何变换来产生。实际上,一个不受约束的几何变换,可将输入图像的一个点变换到输出图像中的任意位置。几何变换不仅提供了产生某些特殊图像的可能,甚至还可以使图像处理程序设计简单化。从变换性质来分可以分为图像的位置变换、形状变换等 1.3.2图像增强 图像增强是数字图像处理的基本内容之一,其目的是根据应用需要突出图像中的某些“有用”的信息,削弱或去除不需要的信息,以达到扩大图像中不同物体特征之间的差别,使处理后的图像对于特定应用而言,比原始图像更合适,或者为图像的信息提取以及其他图像分析技术奠定了基础。一般情况下,经过增强处理后,图像的视觉效果会发生改变,这种变化意味着图像的视觉效果得到了改善,某些特定信息得到了增强。

基于VC++的数字图像处理课程设计

基于VC++的数字图像处理课程设计 一、概述 本次电子课程设计是基于VC++ 6.0 MFC多文档编程编写一个图像处理软件,这个软件能够实现BMP格式图像的浏览与编辑,打开和保存。实现对图像的平滑处理,包括邻域平均法和中值滤波法。还有对图像的锐化处理,包括梯度法和拉普拉斯算子法。 BMP文件是Windows操作系统中的标准图像文件格式,可以分成两类:设备相关位图和设备无关位图,使用非常广。它采用位映射存储格式,除了图像深度可选外,不采用其他任何压缩,因此BMP文件所占用的空间很大。由于BMP文件格式是Windows环境交换与图有关的数据的一种标准,因此在Windows环境中运行的图形图像软件都支持BMP图像格式。 图像平滑的目的是为了消除噪声,主要处理的方式有邻域平均法即通过提高信噪比,取得较好的平滑效果;空间域低通滤波采用低通滤波的方法去除噪声;以及频率低通滤波法通过除去其高频分量就能去掉噪声,从而使图像的到平滑。 图像锐化的主要目的是为了增强图像边缘、轮廓和细节,使模糊的图像变得更加清晰,颜色、细节变得鲜明突出,图像的质量有所改善,产生更适合人眼观察和识别的图像。 经过平滑的图像变得模糊的根本原因是因为图像受到了平均或积分运算,因此可对其进行逆运算(如微分运算)就可以使图像变得清晰。从频率域来考虑,图像模糊的实质是因为其高频分量被衰减,因此可以用高通滤波器来使图像清晰。 主要功能概述: 1、打开和保存8位bmp图像 2、图像平滑处理:分为邻域平均法和中值滤波法。邻域平均法中又有3*3均值滤波器 法、超限邻域平均法、n*n均值滤波器法、有选择的局部平均化。中值滤波法中有n*n中值滤波器法、十字形中值滤波法、n*n最大值滤波器法。 3、图像锐化处理:分为梯度法和拉普拉斯算子法。 二、程序流程图

数字图像处理学习报告

数字图像处理学习报告 在这一学期,我选修了《数字图像处理基础》这门课程,同时,老师还讲授了一些视频处理的知识。在这里,梳理一下这学期学到的知识,并提出一些我对这门课程的建议。 图像处理是指对图像信息进行加工,从而满足人类的心理、视觉或者应用的需求的一种行为。图像处理方法一般有数字法和光学法两种,其中数字法的优势很明显,已经被应用到了很多领域中,相信随着科学技术的发展,其应用空间将会更加广泛。数字图像处理又称为计算机图像处理,它是指将图像信号转换成数字信号并利用计算机对其进行处理的过程.数字图像处理是从20世纪60年代以来随着计算机技术和VLSL的发展而产生、发展和不断成熟起来的一个新兴技术领域。数字图像处理技术其实就是利用各种数字硬件与计算机,对图像信息通过转换而得到的电信号进行相应的数学运算,例如图像去噪、图像分割、提取特征、图像增强、图像复原等,以便提高图像的实用性。其特点是处理精度比较高,并且能够对处理软件进行改进来优化处理效果,操作比较方便,但是由于数字图像需要处理的数据量一般很大,因此处理速度有待提高。目前,随着计算机技术的不断发展,计算机的运算速度得到了很大程度的提高。在短短的历史中,它却广泛应用于几乎所有与成像有关的领域,在理论上和实际应用上都取得了巨大的成就。 1. 数字图像处理需用到的关键技术 由于数字图像处理的方便性和灵活性,因此数字图像处理技术已经成为了图像处理领域中的主流。数字图像处理技术主要涉及到的关键技术有:图像的采集与数字化、图像的编码、图像的增强、图像恢复、图像分割、图像分析等。 图像的采集与数字化:就是通过量化和取样将一个自然图像转换为计算机能够处理的数字形式。 图像编码:图像编码的目的主要是来压缩图像的信息量,以便能够满足存储和传输的要 求。 图像的增强:图像的增强其主要目的是使图像变得清晰或者将其变换为机器能够很容易 分析的形式,图像增强方法一般有:直方图处理、灰度等级、伪彩色处理、边缘锐化、干扰抵制。 图像的恢复:图像恢复的目的是减少或除去在获得图像的过程中因为各种原因而产生的 退化,可能是由于光学系统的离焦或像差、被摄物与摄像系统两者之间的相对运动、光学或电子系统的噪声与介于被摄像物跟摄像系统之间的大气湍流等等。 图像的分割:图像分割是将图像划分为一些互相不重叠的区域,其中每一个区域都是像素的一个连续集,通常采用区域法或者寻求区域边界的境界法。 图像分析:图像分析是指从图像中抽取某些有用的信息、数据或度量,其目的主要是想得到某种数值结果。图像分析的内容跟人工智能、模式识别的研究领域有一定的交叉。

相关文档
最新文档