数字图像处理学习心得

数字图象处理心得体会

经过这几周的学习,我从一个什么都不了解的小白,变成了一个明白这门课程的意义的初学者,觉得学到了不少有用同时又很有趣的知识,也对数字图象处理有了新的理解。老师从数字图像处理的意义讲起,中间介绍了许多目前仍在应用的相关技术,让我明白了图像处理在我们生活中的重要性,下面我来谈谈我自己的学习成果和感受。

图像处理是指对图像信息进行加工,从而满足人类的心理、视觉或者应用的需求的一种行为。图像处理方法一般有数字法和光学法两种,其中数字法的优势很明显,已经被应用到了很多领域中,相信随着科学技术的发展,其应用空间将会更加广泛。数字图像处理又称为计算机图像处理,它是指将图像信号转换成数字信号并利用计算机对其进行处理的过程。数字图像处理是从20世纪60年代以来随着计算机技术和VLSL的发展而产生、发展和不断成熟起来的一个新兴技术领域。数字图像处理技术其实就是利用各种数字硬件与计算机,对图像信息通过转换而得到的电信号进行相应的数学运算,例如图像去噪、图像分割、提取特征、图像增强、图像复原等,以便提高图像的实用性。其特点是处理精度比较高,并且能够对处理软件进行改进来优化处理效果,操作比较方便,但是由于数字图像需要处理的数据量一般很大,因此处理速度有待提高。目前,随着计算机技术的不断发展,计算机的运算速度得到了很大程度的提高。在短短的历史中,它却广泛应用于几乎所有与成像有关的领域,在理论上和实际应用上都取得了巨大的成就。

从定义上来说,图像处理是指按照一定的目标,用一系列的操作,来“改造”图像的方法。 我觉得字面上的意思就是,对图像进行处理,得到自己想要的效果。图象处理的内容有很多种:几何处理,算术处理、图像增强、图像复原、图像重建、图像识别、图像压缩。而目前进行图像处理就是指用计算机对图像进行空域法和变换域法。资料上介绍说,数字图象处理起源于20世纪20年代,那时第一次通过海底电缆传输图像;1921年人们用电报打印机采用特殊字符在编码纸带中产生图像;1922年在信号两次穿越大西洋后,从穿孔纸带得到数字图像;1929年从伦敦到纽约用15级色调设备传送照片。到了20世纪60年代早期,计算机发展,有了第一台可执行有意义的图像处理任务的大型计算机,美国利用航天器传送了第一张月球照片。从20世纪60年代末到70年代初,开始用于医学图像、地球遥感、天文学等领域,如CT图像和X射线图像。至今,数字图象处理仍旧广泛应用于工业、医学、地理学、考古学、物理学、天文学等多个领域。比如,太空技术中的航天技术、空间防御、天文学;生物科学的生物学和医学;刑事(物证)上的指纹、人脸分析;国防方面的军事探测,导弹目标识别;工业应用中的产品检测还有日常生活中的照片编辑、影视制作。

从概念上来说,数字图像用f(x,y)表示一幅图像,x,y,f为有限、离散值。图像处理涉及到图像的分析和计算机视觉,其中分为低级处理、中级处理、高级处理。低级处理是指输入输出均为图像(如图像缩放、图像平滑);中级处理是输入图像,然后输出提取的特征(如区域分割、边界检测);高级处理则是理解识别的图像(如无人机驾驶,自动机器人)。

数字图像处理的几个基本目的是:

图像输入->图像处理(增强、复原、编码和压缩)->图像输出。以人为最终的信息接收者,其主要目的是改善图像的质量。

图像输入->图像预处理(增强、复原)->图像分割->特征提取->图像分类->图像输出。另一类图像处理以机器为对象,目的是使机器或计算机能自动识别目标,称为图像识别。

图像输入->图像预处理->图像描述->图像分析和理解->图像解释。利用计算机系统解释图像,实现类似人类视觉系统理解外部知识,被称为图像理解或计算机视觉。其正确的理解要有知识的引导,与人工智能等学科有密切联系。当前理论上有不小进展,但仍是一个有待进一步探索的领域。

数字图像处理主要研究的内容包括:

1)图像变换:如傅里叶变换、沃尔什变换、离散余弦变换(DCT)等间接处理技术,将空间域的处理转换为变换域处理,不仅可减少计算量,而且可获得更有效的处理。目前小波变换在时域和频域中都具有良好的局部化特性,它在图像处理中也有着广泛而有效的应用。

2)图像编码压缩

图像编码压缩技术可减少描述图像的数据量(即比特数),以便节省图像传输、处理时间和减少存储器容量。压缩可以在不失真前提下获得,也可以在允许的失真条件下进行。编码是压缩技术最重要的方法,它在图像处理技术中是发展最早且比较成熟的技术。

3)图像增强和复原

目的是提高图像的质量,如去除噪声,提高清晰度等。图像增强不考虑图像降质的原因,突出图像中所感兴趣的部分。如强化图像高频分量,可使图像中物体轮廓清晰,细节明显;如强调低频分量可减少图像中噪声影响。图像复原要求对图像降质的原因有一定的了解,建立“降质模型”,再采用某种方法,恢复或重建原来的图像。

4)图像分割

图像分割是数字图像处理中的关键技术之一。图像分割是将图像中有意义的特征部分提取出来,其有意义的特征有图像中物体的边缘、区域等,这是进一步进行图像识别、分析和理解的基础。虽然目前已研究出不少边缘提取、区域分割的方法,但还没有一种普遍适用于各种图像的有效方法。因此,对图像分割的研究还在不断深入之中,是目前图像处理中研究的热点之一。

数字图像处理的特点主要表现在数字图像处理的信息大多是二维信息,处理信息量很大。因此对计算机的计算速度、存储容量等要求较高;数字图像处理占用的频带较宽。与语言信息相比,占用的频带要大几个数量级。所以在成像、传输、存储、处理、显示等各个环节的实现上技术难度较大,成本亦高。这就对频带压缩技术提出了更高的要求;数字图像中各个像素不是独立的,其相关性大。在图像画面上,经常有很多像素有相同或接近的灰度。所以,图像处理中信息压缩的潜力很大。数字图像处理后的图像受人的因素影响较大,因为图像一般是给人观察和评价的。

数字图像处理的优点主要表现在再现性好、处理精度高、适用面宽、灵活性高等方面。图像处理大体上可分为图像的像质改善、图像分析和图像重建三大部分,每一部分均包含丰富的内容。

数字图像处理的主要应用有:

通讯技术---图像传真,电视电话,威信通讯,数字电视;

宇宙探索---其他星体图片处理;

遥感技术---农林资源调查,作物长势监视,自然灾害(水、火、风、虫等)监测、预报,地势、地貌以及地质构造测绘,找矿,水文、海洋调查,环境污染监测,等等;

生物医学---X射线、超声、显微图片分析,内窥镜图、温谱图分析,断层及核磁共振分析;工业生产---无损探伤,石油勘探,生产过程的自动化(识别零件,装配,质量检查),工业机器人视觉;

计算机科学---文字、图像输入的研究,计算机辅助设计,人工智能研究,多媒体计算机与智能计算机研究;

气象预报---天气云图测绘、传输; 高能物理---核子泡室图片分析;

军事技术---航空及卫星侦察照片的判读,导弹制导,雷达、声纳图像处理,军事仿真;

侦缉破案---指纹识别,印鉴、伪钞识别,手迹分析;考古---恢复珍贵的文物图片,名画,壁画。

由此可见,数字图像在我们日常生活中占有多大的地位。它是我们生活中接触最多的图形类别,它伴随人们的生活、学习、工作,并在军事、医学和工业方面发挥着极大的作用,可谓随处可见,尤其在生活方面作为学生的我们会在外出旅游、生活、工作中拍下许多数字相片,现在已经进入信息化时代,图像作为信息的重要载体在信息传输方面有着声音、文字等信息载体不可替代的作用,并且近年来图像处理领域,数字图象处理技术取得了飞速发展。

通过课程学习,我们虽说还没有完全掌握数字图像处理技术,但也收获不少,对于数字图像方面有了更深入的了解,更加理解了数字图像的本质,即是一些数字矩阵,但灰度图像和彩色图像的矩阵形式是不同的。对于一些耳熟能详的数字图像相关术语有了明确的认识,比如常见的:像素(衡量图像的大小)、分辨率(衡量图像的清晰程度)、位图(放大后会失真)、矢量图(经过放大不会失真)等大家都能叫上口却知识模糊的名词。也了解图像处理技术中一些常见处理技术的实质,比如锐化处理是使模糊的图像变清晰,增强图像的边缘等细节。而平滑处理的目的是消除噪声,模糊图像,在提取大目标之前去除小的细节或弥合目标间的缝隙。对常提的RGB图像和灰度图像有了明确的理解,这对大家以后应用Photoshop等图像处理软件对图像进行处理打下了坚实的基础。

虽然这门课是只有7周理论课,但老师所讲的内容让我非常感兴趣,数字图象处理的应用贯通各个行业,遍布我们生活的电子产品,这让我学习后感觉离这些产品的使用和了解更进了一步。学习数字图象处理对我们学电子工程的学生非常有用,无论以后是否从事相关工作都让我感觉受益良多。随着现代电子技术发展的越来越快,我相信图像处理技术一定会有更大的进步,从国防到娱乐给我们的生活带来更多的便利,和更好的科学技术。

 

第二篇:数字图像处理实验报告

数字图像处理实验报告

《数字图像处理》

实验报告

姓名:

学号:

学院:信息工程学院

专业:电子信息工程

年级班别:

指导老师:

图像的空间域平滑和锐化

一、实验目的

(1) 掌握图像模板运算的流程。

(2) 进一步理解图像的平滑、锐化原理。

(3) 了解图像平滑、锐化的效果和作用。

二、 实验内容和要求

编程分别实现图像的平滑和锐化。

三、 实验主要仪器设备和材料

计算机,VC++6.0

四、实验原理

1、图像平滑

图像平滑主要是为了消除噪声。噪声并不限于人眼所能看的见的失真和变形,有些噪声只有在进行图像处理时才可以发现。图像中的噪声往往和信号交织在一起,尤其是乘性噪声,如果平滑不当,就会使图像本身的细节如边界轮廓、线条等变的模糊不清,如何既平滑掉噪声有尽量保持图像细节,是图像平滑主要研究的任务。

一般来说,图像的能量主要集中在其低频部分,噪声所在的频段主要在高频段,同时系统中的边缘信息也主要集中在其高频部分,因此,如何去掉高频干扰又同时保持边缘信息,是我们研究的内容。为了去除噪声,有必要对图像进行平滑,可以采用低通滤波的方法去除高频干扰。图像平滑包括空域法和频域法两大类,在空域法中,图像平滑的常用方法是采用均值滤波或中值滤波。下面主要论述一下均值滤波。

对于均值滤波,它是用一个有奇数点的滑动窗口在图像上滑动,将窗口中心点对应的图像像素点的灰度值用窗口内的各个点的灰度值的平均值代替,如果滑动窗口规定了在取均值过程中窗口各个像素点所占的权重,也就是各个像素点的系数,这时候就称为加权均值滤波。

2、图象锐化

图像平滑往往使图像中的边界、轮廓变的模糊,为了减少这类不利效果的影响,这就需要利用图像锐化技术,使图像的边缘变的清晰。图像锐化处理的目的是为了使图像的边缘、轮廓线以及图像的细节变的清晰,经过平滑的图像变得模糊的根本原因是因为图像受到了平均或积分运算,因此可以对其进行逆运算(如微分运算)就可以使图像变的清晰。从频率域来考虑,图像模糊的实质是因为其高频分量被衰减,因此可以用高通滤波器来使图像清晰。

为了要把图像中间任何方向伸展的边缘和轮廓线变得清晰,我们希望对图像的某种运算是各向同性的。可以证明偏导平方和的运算是各向同性的,即:

式中( )是图像旋转前的坐标,( )是图像旋转后的坐标。梯度运算就是在这个式子的基础上开方得到的。图像(x,y)点的梯度值:

为了突出物体的边缘,常常采用梯度值的改进算法,将图像各个点的梯度值与某一阈值作比较,如果大于阈值,该像素点的灰度用梯度值表示,否则用一个固定的灰度值表示。我们在对图像增强的过程中,采用的是一种简单的高频滤波增强方法:

式中f,g分别为锐化前后的图像。 表示对图像f进行二次微分的拉普拉斯算子。

五、设计思路

下面简单讲述一下平滑滤波的设计思路,其中,采用的是模板为template_s[9]={1,2,1,2,4,2,1,2,1}/16的均值滤波。

首先,必须在菜单项中添加“平滑滤波(彩色)”,添加ID名字,在类向导中添加响应函数,做足所有的准备工作。

然后,开始分析RGB888的bmp图像的数据结构,并明确知道CDIB中各变量的意义,特别是m_pDIBData指针的意义,这对处理彩色图像非常重要,其图示如下:

数字图像处理实验报告

接着,我们将会开始编程,首先,需要定义后面需要使用到的变量,如下图:

在邻域滤波当中,我们需要准备两个二维数组,一个用了装载原图像,一个用来装载待修改的图像,其中动态二维数组的声明采用指向指针的指针的方法来实现:

将原来的图像数据装载到两个动态数组当中,然后采用*image0_b的数据乘以平滑模板template_s[9]来处理生成*image1_b的数据,实现平滑滤波,其中需要注意的是,图像边缘的像素点不需要作任何处理:

最后,我们将处理得出的数据*image1_b重新装载回*m_pDIBData当中,然后采用Invalidate()函数在软件中显示修改后的图像,最后记得释放指针的空间。

六、响应函数代码

//////////////////////////

//功能:实现平滑滤波(彩色)

//////////////////////////

if(!m_dib.m_bLoaded)

{

AfxMessageBox("图像还打开,请先打开图像!");

return;

}

//获取图像宽和高

int nw=m_dib.GetDIBWidth();

int nh=m_dib.GetDIBHeight();

int template_s[9]={1,2,1,2,4,2,1,2,1};//平滑模板模板

int scale=16; //因子

int i,j,r,s,t,count_b,count_g,count_r;

//创建矩阵像素数组(动态数组)

BYTE** image0_b = (BYTE**)malloc(sizeof(BYTE*)*(nh));

for(j=0;j<nh;j++)

image0_b[j] = (BYTE*)malloc(nw*sizeof(BYTE));

BYTE** image1_b = (BYTE**)malloc(sizeof(BYTE*)*(nh));

for(j=0;j<nh;j++)

image1_b[j] = (BYTE*)malloc(nw*sizeof(BYTE)); //blue的原图与处理图

BYTE** image0_g = (BYTE**)malloc(sizeof(BYTE*)*(nh));

for(j=0;j<nh;j++)

image0_g[j] = (BYTE*)malloc(nw*sizeof(BYTE));

BYTE** image1_g = (BYTE**)malloc(sizeof(BYTE*)*(nh));

for(j=0;j<nh;j++)

image1_g[j] = (BYTE*)malloc(nw*sizeof(BYTE)); //green的原图与处理图

BYTE** image0_r = (BYTE**)malloc(sizeof(BYTE*)*(nh));

for(j=0;j<nh;j++)

image0_r[j] = (BYTE*)malloc(nw*sizeof(BYTE));

BYTE** image1_r = (BYTE**)malloc(sizeof(BYTE*)*(nh));

for(j=0;j<nh;j++)

image1_r[j] = (BYTE*)malloc(nw*sizeof(BYTE)); //red的原图与处理图

//将原图像数据赋值到两个动态数组当中

r=0;

for(j=0;j<nh;j++)

for(i=0;i<nw;i++)

{

image0_b[j][i]=m_dib.m_pDIBData[r];

image1_b[j][i]=m_dib.m_pDIBData[r];

r++;

image0_g[j][i]=m_dib.m_pDIBData[r];

image1_g[j][i]=m_dib.m_pDIBData[r];

r++;

image0_r[j][i]=m_dib.m_pDIBData[r];

image1_r[j][i]=m_dib.m_pDIBData[r];

r++;

}

//处理图像

for(i=1;i<(nh-1);i++)

for(j=1;j<(nw-1);j++)

{

r=0;

count_r=0;

count_g=0;

count_b=0;

for(s=1;s>-2;s--)

for(t=-1;t<2;t++)

{

count_b+=template_s[r]*image0_b[i+s][j+t];

count_g+=template_s[r]*image0_g[i+s][j+t];

count_r+=template_s[r]*image0_r[i+s][j+t];

r++;

}

image1_b[i][j]=count_b/scale;

image1_g[i][j]=count_g/scale;

image1_r[i][j]=count_r/scale;

}

r=0;

for(j=0;j<nh;j++)

for(i=0;i<nw;i++)

{

m_dib.m_pDIBData[r]=image1_b[j][i];

r++;

m_dib.m_pDIBData[r]=image1_g[j][i];

r++;

m_dib.m_pDIBData[r]=image1_r[j][i];

r++;

}

free(image0_b);

free(image1_b);

free(image0_g);

free(image1_g);

free(image0_r);

free(image1_r);

Invalidate();//刷新屏幕,调用ondraw

七、处理效果

数字图像处理实验报告

左图采用了均值滤波,右图是没有任何处理的原图。采用均值滤波后,噪声得到抑制,但同时,图像变得模糊。

下面也看看锐化滤波的效果,其中设计思路与平滑滤波相似,只是模板不同,而且需要对处理后的负数像素进行绝对值处理:

数字图像处理实验报告

左边为锐化处理后的结果,右边为原图像。由于锐化滤波出现负值,对负值进行绝对值处理后,出现了双边缘的状况。

七、心得体会:

在进行了数字图像处理实验后,第一次深刻地体会到亲自进行图像处理的感觉,在我们已经掌握的MFC基础下进行图像的简单处理,对于我们来说没有什么大难度,重要的是如何将书本上的算法,转换为C语言,并对图像上的像素逐一进行处理。通过MFC对图片进行数字图像,我们熟悉了数字图像处理实际工程的基本框架、流程,并进一步提高了编程能力。

数字图像处理是一门技术含量很高的技术,其中更深刻的算法对于我们而言,有十分大的难度,而这次实验只是涉足数字图像处理当中最最基本的知识而已,实验的目的也仅仅是让我们体会图像处理最简单的流程,提高编程能力,更重要更实用的数字图像处理技术需要我们自己去自觉学习,并努力付出的。数字图像信号是数字信号的一种,数字图像处理的学习让我们从一个具体的方面去学会如何处理数字信号,对我们的专业学习有着意义非凡的作用。

相关推荐