Matlab二维灰度图象分析及变换处理要点

Matlab二维灰度图象分析及变换处理要点
Matlab二维灰度图象分析及变换处理要点

《基础强化训练》设计报告

题目:二维灰度图象的统计分析及变换处理专业班级:

学生姓名:

指导教师:

2010 年7 月17 日

《基础强化训练》设计任务书

学生姓名:专业班级:

指导教师:工作单位:

题目: 二维灰度图象的统计分析及(FFT)变换处理

课程设计目的:

①较全面了解常用的数据分析与处理原理及方法;

②能够运用相关软件进行模拟分析;

③掌握基本的文献检索和文献阅读的方法;

④提高正确地撰写论文的基本能力。

课程设计内容和要求

①采集一幅像素大于64*64黑白图像;

②常规的数学统计数据处理:计算图象各象素点灰度值得均值、标准差、方差,并绘出灰度直方图;

③采用[FFT(傅立叶变换)]对图像进行分析

初始条件:

①MATLAB软件。

②数字信号处理与图像处理基础知识。

时间安排:

第18周周一:安排任务

19~20周:仿真设计(鉴主13楼计算机实验室)

第20周周六:完成(答辩,提交报告,演示)

指导教师签名:年月日

系主任(或责任教师)签名:年月日

目录

摘要 (1)

Abstract (2)

1 数据采集 (3)

1.1图像的选取 (3)

1.2 MATLAB读取方法 (4)

1.2.1 编辑M文件 (4)

1.2.2 图像的读取 (4)

1.2.3查看图像的格式 (6)

1.2.4 灰度值的获取 (7)

2 数据统计处理 (8)

2.1 均值计算 (8)

2.1.1 原理及计算公式 (8)

2.1.2 计算程序及结果 (9)

2.2 各像素点灰度值的标准差 (9)

2.3 各像素点灰度值的方差 (10)

2.4 灰度直方图 (11)

3.傅立叶变化 (13)

3.1 原理及计算公式 (13)

3.2 变换及逆变换程序及结果 (14)

3.3对变换后的图像的说明 (16)

4.总结(心得体会) (17)

5.参考文献 (18)

摘要

MATLAB是矩阵实验室(Matrix Laboratory)的简称,是美国MathWorks公司出品的商业数学软件,用于算法开发、数据可视化、数据分析以及数值计算的高级技术计算语言和交互式环境,主要包括MATLAB和Simulink两大部分。MATLAB是集数值计算,符号运算及图形处理等强大功能于一体的科学计算语言。作为强大的科学计算平台,它几乎能够满足所有的计算需求。MATLAB 本身就是功能强大的数据可视化工具,可以通过各种形式显示分析数据,例如灰度直方图、等高线、蒙太奇混合、像素分析、图层变换以及材质贴图等。利用可视化的图形,不仅能够评估图形图像的特性,还能够分析图像中的色彩分布等情况。

本次练习介绍的就是Matlab环境下的一些最基本的图像处理操作,如读图像、写图像、查看图像信息和格式、尺寸和灰度的伸缩等等;通过实验掌握图像直方图的描绘方法,加深直方图形状与图像特征间关系间的理解;加深对直方图均衡算法的理解。

Abstract

MATLAB is Matrix lab (Matrix of Laboratory), is the MathWorks company business mathematics software is used to develop, data visualization algorithm, data analysis and numerical calculation of senior technical calculation language and interactive environment, including MATLAB and Simulink two most.MATLAB is a scientific computing language that adds the function of numerical computing and graphics processing, symbols together. As a powerful scientific computing platforms, it can almost satisfy all the calculations that needs. MATLAB itself is a powerful tool of data visualization that can display data through various forms, such as graylevel histogram, contours, montage mixing, pixel analysis, the layer texture and transformation. With visual graphics, it can not only evaluate image characteristics, but also analyze the distribution of color image.

The purpose of the practice of introducing Matlab environment is the most basic of some image processing operations, such as read, write, image information and image format, size and gray telescopic; etc. Through the experiment mastery of image histograms depicts method, deepen the histogram image feature and the relationship between the shape of understanding,and to deepen the understanding of histogram equalization algorithm.

1 数据采集

Matlab软件的图像采集工具箱提供了大量的函数用于采集图像和视频信号,该工具箱支持的硬件设备包括工业标准的PC图像采集卡和相应的设备。所支持的硬件包括:Matrox和Data Translation公司提供的视频采集设备,同时还支持Windows平台下支持USB或者火线(IEEE-1394)的视频摄像头等设备。

MATLAB可以支持很多很多图片的文件格式,例如﹡cur、﹡bmp、﹡hdf、﹡ico、﹡jpg、﹡tif、﹡gif、﹡pcx等。用于读写图像数据的函数有imread(从图像格式的文件中读取数据)和imwrite(将数据写入图像格式的文件)。这里我用到的是imread,主要是用到图像文件的读取。

1.1图像的选取

图1.1本次研究的图像如图所示,科比的图像

1.2 MATLAB读取方法

1.2.1 编辑M文件

打开Matlab软件,在File下选择New\M-File。

1.2.2 图像的读取

imread函数用于读入各种图象文件,其一般的用法为:

[X,MAP]=imread(‘filename’,‘fmt’);

亦可直接写为imread(‘’);其中,X,MAP分别为读出的图象数据和颜色表数据,fmt为图象的格式,filename为读取的图象文件(可以加上文件的路径)。

例如本次设计中:i = imread(’科比.jpg’);

利用函数imread函数实现图像文件的读取,然后运用imshow函数显示图像。如果采集图像为彩色图像,可以先将彩色图像转换为灰度图像,再进行计算分析。

操作如下图-1,将存在D:\matlab\work里的图片“科比.jpg”写入MATLAB中。需要先打开运行MATLAB,然后在File里面新建M-File文件,再将读写图片数据的程序输进去即可。

图1.2.1科比的彩色图像转化成灰度图像

检查程序无误之后,就可以直接在command window窗口运行。如果运行之后在MATLAB主页面里显示有错误的话就需要重新回到M-File的页面里面对程序进行修改然后才可以运行;如果运行之后在MATLAB主页面里面没有错误显示就可

以看到图1.2.2。

图1.2.2

1.2.3查看图像的格式

Matlab中可以使用imfinfo函数查看文件信息,图像的查询及读写在Matlab中要查询一个图像文件的信息,只要用imfinfo指令加上文件及其完整路径名即可。函数调用格式为:

Info=imfinfo(filename,fmt)

Info=imfinfo(filename)

参数fmt对应为所有图像处理工具箱中所有支持的图像文件格式。

info =

Filename: '科比.jpg'

FileModDate: '04-Jul-2010 12:41:22'

FileSize: 32901

Format: 'jpg'

FormatVersion: ''

Width: 299

Height: 450

BitDepth: 24

ColorType: 'truecolor'

FormatSignature: ''

NumberOfSamples: 3

CodingMethod: 'Huffman'

CodingProcess: 'Sequential'

Comment: {}

上面的即是图像的格式处理

1.2.4 灰度值的获取

从上面的文件信息可以看出来,这个jpg文件的色彩类型为'truecolor'真彩类型,因此要获得这个图像的灰度值,首先需要将这幅真彩图转换成灰度图。

可以使用rgb2gray函数,最后的结果保存在一个八位矩阵中,由于这个矩阵为400*300大小,限于篇幅只截取部分。每个单元的数值就是原来的图像对应的灰度值。如图

图1.2.4

2 数据统计处理

2.1 均值计算

2.1.1 原理及计算公式

均值计算的原理较简单,在MATLAB的函数库中表示均值的函数是mean2,

其格式是mean2(),括号里面就是待处理分析的信号。

图2.1.1

上面的程序同样是在新建的M-File文件里面编写运行的,检查程序没有错误之后,就在command window窗口直接运行。

2.1.2 计算程序及结果

图 2.1.2

2.2 各像素点灰度值的标准差

在MATLAB的函数库中表示标准差的函数为std2,其格式是std2(),括号里面就是待处理分析的信号。由于标准差反映的是偏离灰度均值的程度,如果标准差越大,则说明灰度级越大,则图像包含的信息就越多。如下图,程序如下:

图2.2.1

结果显示如下:

图2.2.2

2.3 各像素点灰度值的方差

这里对图像的方差进行计算如图2.3.1所示,在求标准差的基础上,方差是标准差的平方。

图2.3.1

结果如下,得到的即是灰度值的方差:

图2.3.2

2.4 灰度直方图

直方图是一个显示灰度或索引图像亮度分布情况的图表,它是图像分析中用来说明图像灰度分布的图形。直方图的每一个分支表示对应灰度级出现的频数(处于该灰度级的像素的数目)间的统计关系,用横坐标表示灰度级,纵坐标表示频数(或相对频数=频数/总像素数目)。

这里对图像的直方图的绘制用的函数是imhist,下面为具体绘制图像直方图的程序,如图2.4.1

图2.4.1

灰度直方图的显示如下图:

图2.4.2

3.傅立叶变化

3.1 原理及计算公式

傅里叶变换能将满足一定条件的某个函数表示成三角函数(正弦和/或余弦函数)或者它们的积分的线性组合。在不同的研究领域,傅里叶变换具有多种不同的变体形式,如连续傅里叶变换和离散傅里叶变换。最初傅里叶分析是作为热过程的解析分析的工具被提出的(参见:林家翘、西格尔著《自然科学中确定性问题的应用数学》,科学出版社,北京。原版书名为 C. C. Lin & L. A. Segel, Mathematics Applied to Deterministic Problems in the Natural Sciences, Macmillan Inc., New York, 1974)。* 傅里叶变换属于谐波分析。* 傅里叶变换的逆变换容易求出,而且形式与正变换非常类似; * 正弦基函数是微分运算的本征函数,从而使得线性微分方程的求解可以转化为常系数的代数方程的求解.在线性时不变的

物理系统内,频率是个不变的性质,从而系统对于复杂激励的响应可以通过组合其对不同频率正弦信号的响应来获取; * 卷积定理指出:傅里叶变换可以化复杂的卷积运算为简单的乘积运算,从而提供了计算卷积的一种简单手段; * 离散形式的傅里叶变换可以利用数字计算机快速的算出(其算法称为快速傅里叶变换算法(FFT)).

这里是对图像快速傅里叶变化,用到的是fft2函数。

说明:以下程序的原始图片科比.jpg放在matlab安装目录下work文件夹里。打开matlab 后将本程序段直接复制到matlab 的“command window”里面的">>"后即可进行图片的傅立叶变换。

对图像快速傅里叶变化后,可以对图像进行反傅里叶变换,应用函数ifft2(),如果得到的图像与傅里叶变换前的图像相同,则傅里叶变换正确。

图3.1.1

3.2 变换及逆变换程序及结果

检查无误后,运行以上的程序,观察程序运行结果。程序运行的结果如下图示:

图3.2

3.3对变换后的图像的说明

图3.2中上图是傅里叶变换得到的结果

下图则是傅里叶逆变换得到的结果,即是科比的灰度图像设x(n)为N项的复数序列,由DFT变换,任一X(m)的计算都需要N次复数乘法和N-1次复数加法,而一次复数乘法等于四次实数乘法和两次实数加法,一次复数加法等于两次实数加法,即使把一次复数乘法和一次复数加法定义成一次“运算”(四次实数乘法和四次实数加法),那么求出N项复数序列的X(m),即N点DFT变换大约就需要N2次运算。当N=1024点甚至更多的时候,需要N2=1048576次运算,在FFT中,利用WN的周期性和对称性,把一个N项序列(设N=2k,k为正整数),分为两个N/2项的子序列,每个N/2点DFT变换需要(N/2)2次运算,再用N次运算把两个N/2点的DFT变换组合成一个N点的DFT变换。这样变换以后,总的运算次数就变成N 2(N/2)2=N N2/2。继续上面的例子,N=1024时,总的运算次数就变成了525312次,节省了大约50%的运算量。而如果我们将这种“一分为二”的思想不断进行下去,直到分成两两一组的DFT运算单元,那么N点的DFT变换就只需要Nlog2N次的运算,N在1024点时,运算量仅有10240次,是先前的直接算法的1%,点数越多,运算量的节约就越大,这就是FFT的优越性。

4.总结(心得体会)

这次的课程设计主要是让我们学习使用MATLAB,利用对图像的处理来学习MATLAB这个软件。首先我认识了MATLAB这个软件,其功能非常的强大,由总包和若干个工具箱组成,可以实现数值分析、自动控制、图像处理、神经元网络等若干个领域的计算和图形显示,它将这些不同领域的计算用函数的形式分类成对用户完全透明的库函数,构成一个个针对专门领域的工具箱。使得我们在使用的时候用户直接调用这些库函数并赋予实际参数就能解决实际问题,具有极高的变成效率。

我觉得通过这次课设之后,我发现MATLAB强大的功能。不仅仅局限于我们分析信号与系统的时候用到的那些功能,还有其他更多更广泛的用途。通过了本次课程设计,我学会了使用M文件来编写能解答特殊题目的程序,一道很基础简单的电路题目,让我对一款很陌生的软件有了一个初步的认识,这对我以后的学习和研究会产生很好的影响。本来通过并不复杂的计算就能得到结果,但是在建立了矩阵后,可以使用MATLAB来解决这种并不能在一般的计算器上计算出来的问题,而且编程过程中,可以清楚地从workspace中看到自己所输入的参数是否正确,也能直观地看到一些中间变量是否有误,而最后的运算结果更是一目了然。这一切都让我对这款软件产生了极高的好感。

非常全非常详细的MATLAB数字图像处理技术

MATLAB数字图像处理 1 概述 BW=dither(I)灰度转成二值图; X=dither(RGB,map)RGB转成灰度图,用户需要提供一个Colormap; [X,map]=gray2ind(I,n)灰度到索引; [X,map]=gray2ind(BW,n)二值图到索引,map可由gray(n)产生。灰度图n默认64,二值图默认2; X=graylice(I,n)灰度图到索引图,门限1/n,2/n,…,(n-1)/n,X=graylice(I,v)给定门限向量v; BW=im2bw(I,level)灰度图I到二值图; BW=im2bw(X,map,level)索引图X到二值图;level是阈值门限,超过像素为1,其余置0,level在[0,1]之间。 BW=im2bw(RGB,level)RGB到二值图; I=ind2gray(X,map)索引图到灰度图; RGB=ind2rgb(X,map)索引图到RGB; I=rgb2gray(RGB)RGB到灰度图。 2 图像运算 2.1 图像的读写 MATLAB支持的图像格式有bmp,gif,ico,jpg,png,cur,pcx,xwd和tif。 读取(imread): [1] A=imread(filename,fmt) [2] [X,map]=imread(filename,fmt) [3] […]=imread(filename) [4] […]=imread(URL,…) 说明:filename是图像文件名,如果不在搜索路径下应是图像的全路径,fmt是图像文件扩展名字符串。前者可读入二值图、灰度图、彩图(主要是RGB);第二个读入索引图,map 为索引图对应的Colormap,即其相关联的颜色映射表,若不是索引图则map为空。URL表示引自Internet URL中的图像。 写入(imwrite): [1] R=imwrite(A,filename,fmt); [2] R=imwrite(X,map,filename,fmt); [3] R=imwrite(…,filename); [4] R=imwrite(…,Param1,V al1,Param2,Val2) 说明:针对第四个,该语句用于指定HDF,JPEG,PBM,PGM,PNG,PPM,TIFF等类型输出文件的不同参数。例如HDF的Quality,Compression,WriteMode;JPEG的BitDepth,Comment:Empty or not,Mode:lossy or lossless,Quality等。 2.2 图像的显示 方法1:使用Image Viewer(图像浏览器),即运用imview函数。 同时显示多帧图像的所有帧,可用到montage函数。

灰度变换_原理_及Matlab程序

图像灰度变换 内容摘要 1 引言 通常经输入系统获取的图像信息中含有各种各样的噪声与畸变,例如室外光照度不够均匀会造成图像灰度过于集中;由摄像头获得的图像经过A/D转换、线路传送都会产生噪声污染等等,这些不可避免地影响系统图像清晰度,降低了图像质量,轻者表现为图像不干净,难以看清细节;重者表现为图像模糊不清,连概貌都看不出来。因此,在对图像经行分析前,必须对图像质量经行改善,一般情况下改善的方法有两类:图像增强和图像复原。图像增强的目的是设法改善图像的视觉效果,提高图像的可读性,将图像中感兴趣的特征有选择的突出,便于人与计算机的分析和处理。图像增强不考虑图像质量下降的原因,只将图像中感兴趣的特征有选择的突出,而衰减不需要的特征。灰度变换是图像增强处理中一种非常基础直接的空间域图像处理方法。灰度变换是根据某种条件按一定变换关系逐点改变原图像中每一个像素灰度值的方法。 1.灰度的线性变换 当图像由于成像时曝光不足或过度, 由于成像设备的非线性或图像记录设备动态范围太窄等因素, 都会产生对比度不足的弊病, 使图像中的细节分辨不清。这时如将图像灰度线性扩展, 常能显著改善图像的主观质量。假设原图像f (x, y ) 的灰度范围是[ a, b ] 希望变换后图像的灰度范围扩展到[ c, d ] 则: M f 表示f ( x, y ) 的最大值。在线性灰度变换中,灰度执照完全线性变换函数进行变换。该线性灰度线性变换函数f ( r ) 是一个一维线性函数: 其中, a 为线性变换的斜率, b 为线性变换函数在y 轴的截距, 如图1所示。

在灰度的线性变换中, 当a > 1时, 输出图像的对比度将增大; 当a < 1时, 输出图像的对比 度将减小; 当a = 1且b ?0时, 所进行的操作仅使所有像素的灰度值上移或下移, 其效果 是使整个图像更暗或更亮; 如果a < 0, 则暗区域将变亮, 亮区域将变暗。 2分段线性灰度变换 为了突出感兴趣的目标或者灰度区间, 相对抑制那些不感兴趣的灰度区域, 可采用分段线性法。常用的是三段线性变换。分段线性变换称为图像直方图的拉伸, 它与完全线性变换类似, 其不同之处在于其变换函数是分段的, 如图2所示: 其变换函数表达式如下: 灰度拉伸可以更加灵活地控制输出灰度直方图的分布, 它可以有选择地拉伸某段灰度区间以改善输出图像。图2所示的变换函数的运算结果是将原图在r1 和r2 之间的灰度拉伸到s1 和s2 之间。如果一幅图像灰度集中在较暗的区域而导致图像偏暗, 可以用灰度拉伸功能来拉伸(斜率> 1) 物体灰度区间以改善图像; 同样如果图像灰度集中在较亮的区域而导致图像偏亮, 也可以用灰度拉伸功能来压缩(斜率< 1) 物体灰度区间来改善图像质量。 3非线性灰度变换

matlab图像处理图像灰度变换直方图变换

附录1 课程实验报告格式 每个实验项目包括:1)设计思路,2)程序代码,3)实验结果,4)实验中出现的问题及解决方法。 实验一:直方图灰度变换 A:读入灰度图像‘debye1.tif’,采用交互式操作,用improfile绘制一条线段的灰度值。 imread('rice.tif'); imshow('rice.tif'),title('rice.tif'); improfile,title('主对角线上灰度值')

B:读入RGB图像‘flowers.tif’,显示所选线段上红、绿、蓝颜色分量的分布imread('flowers.tif'); imshow('flowers.tif'),title('flowers.tif'); improfile,title('主对角线红绿蓝分量') C:图像灰度变化 f=imread('rice.png'); imhist(f,256); %显示其直方图 g1=imadjust(f,[0 1],[1 0]); %灰度转换,实现明暗转换(负片图像) figure,imshow(g1)%将0.5到0.75的灰度级扩展到范围[0 1] g2=imadjust(f,[0.5 0.75],[0 1]); figure,imshow(g2) 图像灰度变换处理实例: g=imread('me.jpg'); imshow(g),title('原始图片'); h=log(1+double(g)); %对输入图像对数映射变换 h=mat2gray(h); %将矩阵h转换为灰度图片

h=im2uint8(h); %将灰度图转换为8位图 imshow(h),title('转换后的8位图'); 运行后的结果: 实验二:直方图变换 A:直方图显示 I=imread('cameraman.tif'); %读取图像 subplot(1,2,1),imshow(I) %输出图像 title('原始图像') %在原始图像中加标题 subplot(1,2,2),imhist(I) %输出原图直方图 title('原始图像直方图') %在原图直方图上加标题运行结果如下:

实验一Matlab图像处理基础及图像灰度变换

实验一Matlab图像处理基础及图像灰度变换 一、实验目的 了解Matlab平台下的图像编程环境,熟悉Matlab中的DIP (Digital Image Processing)工具箱;掌握Matlab中图像的表示方法,图像类型、数据类型的种类及各自的特点,并知道怎样在它们之间进行转换。掌握Matlab环境下的一些最基本的图像处理操作,如读图像、写图像、查看图像信息和格式、尺寸和灰度的伸缩等等;通过实验掌握图像直方图的描绘方法,加深直方图形状与图像特征间关系间的理解;加深对直方图均衡算法的理解。 二、实验内容 1.从硬盘中读取一幅灰度图像; 2.显示图像信息,查看图像格式、大小、位深等内容; 3.用灰度面积法编写求图像方图的Matlab程序,并画图; 4.把第3步的结果与直接用Matlab工具箱中函数histogram的结果进行比较,以衡量第3步中程序的正确性。 5.对读入的图像进行直方图均衡化,画出处理后的直方图,并比较处理前后图像效果的变化。 三、知识要点 1.Matlab6.5支持的图像图形格式 TIFF, JEPG, GIF, BMP, PNG, XWD (X Window Dump),其中GIF不支持写。 2.与图像处理相关的最基本函数 读:imread; 写:imwrite; 显示:imshow; 信息查看:imfinfo; 3.Matlab6.5支持的数据类 double, unit8, int8, uint16, int16, uint32, int32, single, char (2 bytes per element), logical. 4.Matlab6.5支持的图像类型 Intensity images, binary images, indexed images, RGB image 5.数据类及图像类型间的基本转换函数 数据类转换:B = data_class_name(A);

Matlab二维灰度图象分析及变换处理要点

《基础强化训练》设计报告 题目:二维灰度图象的统计分析及变换处理专业班级: 学生姓名: 指导教师: 2010 年7 月17 日

《基础强化训练》设计任务书 学生姓名:专业班级: 指导教师:工作单位: 题目: 二维灰度图象的统计分析及(FFT)变换处理 课程设计目的: ①较全面了解常用的数据分析与处理原理及方法; ②能够运用相关软件进行模拟分析; ③掌握基本的文献检索和文献阅读的方法; ④提高正确地撰写论文的基本能力。 课程设计内容和要求 ①采集一幅像素大于64*64黑白图像; ②常规的数学统计数据处理:计算图象各象素点灰度值得均值、标准差、方差,并绘出灰度直方图; ③采用[FFT(傅立叶变换)]对图像进行分析 初始条件: ①MATLAB软件。 ②数字信号处理与图像处理基础知识。 时间安排: 第18周周一:安排任务 19~20周:仿真设计(鉴主13楼计算机实验室) 第20周周六:完成(答辩,提交报告,演示) 指导教师签名:年月日 系主任(或责任教师)签名:年月日

目录 摘要 (1) Abstract (2) 1 数据采集 (3) 1.1图像的选取 (3) 1.2 MATLAB读取方法 (4) 1.2.1 编辑M文件 (4) 1.2.2 图像的读取 (4) 1.2.3查看图像的格式 (6) 1.2.4 灰度值的获取 (7) 2 数据统计处理 (8) 2.1 均值计算 (8) 2.1.1 原理及计算公式 (8) 2.1.2 计算程序及结果 (9) 2.2 各像素点灰度值的标准差 (9) 2.3 各像素点灰度值的方差 (10) 2.4 灰度直方图 (11) 3.傅立叶变化 (13) 3.1 原理及计算公式 (13) 3.2 变换及逆变换程序及结果 (14) 3.3对变换后的图像的说明 (16) 4.总结(心得体会) (17) 5.参考文献 (18)

matlab图像的灰度变换

实验二 图像的灰度变换 一、实验目的 1、 理解数字图像处理中点运算的基本作用; 2、 掌握对比度调整与灰度直方图均衡化的方法。 二、实验原理 1、对比度调整 如果原图像f (x , y )的灰度范围是[m , M ],我们希望对图像的灰度范围进行线性调整,调整后的图像g (x , y )的灰度范围是[n , N ],那么下述变换: []n m y x f m M n N y x g +---=),(),(就可以实现这一要求。 MATLAB 图像处理工具箱中提供的imadjust 函数,可以实现上述的线性变换对比度调整。imadjust 函数的语法格式为: J = imadjust(I,[low_in high_in], [low_out high_out]) J = imadjust(I, [low_in high_in], [low_out high_out])返回原图像I 经过直方图调整后的新图像J ,[low_in high_in]为原图像中要变换的灰度范围,[low_out high_out]指定了变换后的灰度范围,灰度范围可以用 [ ] 空矩阵表示默认范围,默认值为[0, 1]。 不使用imadjust 函数,利用matlab 语言直接编程也很容易实现灰度图像的对比度调整。但运算的过程中应当注意以下问题,由于我们读出的图像数据一般是uint8型,而在MATLAB 的矩阵运算中要求所有的运算变量为double 型(双精度型)。因此读出的图像数据不能直接进行运算,必须将图像数据转换成双精度型数据。 2、直方图均衡化 直方图均衡化的目的是将原始图像的直方图变为均衡分布的形式,即将一已知灰度概率密度分布的图像,经过某种变换变成一幅具有均匀灰度概率密度分布的新图像,从而改善图像的灰度层次。 MATLAB 图像处理工具箱中提供的histeq 函数,可以实现直方图的均衡化。 三、实验内容及要求 1、 用MATLAB 在自建的文件夹中建立example2.m 程序文件。在这个文件的程序中,将girl2.bmp 图像文件读出,显示它的图像及灰度直方图(可以发现其灰度值集中在一段区

用matlab实现图像灰度变换课程设计

课程设计报告册 课程名称: MATLAB课程设计 课题名称:灰度变换增强 专业班级: 姓名: Bob Wang 学号: 15164 课程设计主要场所:信息楼220 时间: 指导教师:成绩:

前言 数字图像处理技术是20世界60年代发展起来的一门新兴学科,随着图像处理理论和方法的进一步完善,使得数字图像处理技术在各个领域得到了广泛应用,并显示出广阔的应用前景。MATLAB既是一种直观、高效的计算机语言,同时又是一个科学计算平台。它为数据分析和数据可视化、算法和应用程序开发提供了最核心的数学和高级图形工具。根据它提供的500多个数学和工程函数,工程技术人员和科学工作者可以在它的集成环境中交互或变成以完成各自的计算。MATLAB中集成了功能强大的图像处理工具箱。由于MATLAB语言的语法特征与C语言极为相似,而且更加简单,更加符合科技人员对数学表达式的书写格式,而且这种语言可移植性好、可扩展性强,再加上其中有丰富的图像处理函数,所以MATLAB在图像处理的应用中具有很大的优势。 MATLAB是一种以矩阵运算为基础的交互式程序语言,能够满足科学、工程计算和绘图的要求,与其它计算机语言相比,其特点是简洁和智能化,适应科技专业人员的思维方式和书写习惯,使得编程和调试效率大大提高。我们学习掌握MATLAB,也可以说是在科学工具上与国际接轨。

目录 一、课程设计目的 (2) 二、设计任务及容 (2) 三、课题设计实验条件 (3) 四、涉及知识 (3) 五、具体设计过程及调试 (4) 5.1、图像的读入和显示 5.1.1、打开图像 (4) 5.1.2、显示原图像 (5) 5.1.3、图像灰度处理 (7) 5.1.4、显示灰阶后图像 (8) 5.2、直方图均衡化 5.2.1、生成直方图 (10) 5.2.2、直方图均衡化 (12) 5.3、灰度变换 5.3.1、线性变换 (9) 5.3.2、分段线性变换 (9) 5.3.3、非线性变换.................................... (9) 六、心得体会 (17) 七、参考文献 (18) 八、程序清单 (19)

matlab图像数据类型转换

uint 8:无符号的8位(8bit)整型数据(unit 都是存储型) int :整型数据 1、在MATLAB中,数值一般都采用double型(64位)存储和运算. 2、为了节省存储空间,MATLAB为图像提供了特殊的数据类型uint8(8位无符号整数),以此方式存储的图像称为8位型像。 3、函数image能够直接显示8位图像,但8位型数据和double型数据在image中意义不一样, 4、对于索引图像,数据矩阵中的值指定该像素的颜色种类在色图矩阵中的行数。当数据矩阵中的值为0时,表示用色图矩阵中第一行表示的颜色绘制;当数据矩阵中的值为1时,表示用色图矩阵中的第二行表示的颜色绘制该像素,数据与色图矩阵中的行数总是相差1。所以,索引图像double型和uint8型在显示方法上没有什么不同,只是8位数据矩阵的值和颜色种类之间有一个偏差1。调用格式均为image(x); colormap(map); 5、对于灰度图像,uint8表示范围[0,255],double型表示范围[0,1]。可见,double型和uint8型灰度图像不一样,二者转换格式为: I8=uint8 (round (I64*255)); !!double转换成uint 8 I64=double (I8)/255; !!!uint转换成double 反之,imread根据文件中的图像种类作不同的处理。当文件中的图像为灰度图像时,imread 把图像存入一个8位矩阵中,把色图矩阵转换为双精度矩阵,矩阵中每个元素值在[0,1]内;当为RGB图像时,imread把数据存入到一个8位RGB矩阵中。!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! MATLAB中读入图像的数据类型是uint8,而在矩阵中使用的数据类型是double 因此 I2=im2double(I1) :把图像数组I1转换成double精度类型; 如果不转换,在对uint8进行加减时会产生溢出 图像数据类型转换函数 默认情况下,matlab将图象中的数据存储为double型,即64位浮点数;matlab还支持无符号整型(uint8和uint16);uint型的优势在于节省空间,涉及运算时要转换成double型。 im2double():将图象数组转换成double精度类型 im2uint8():将图象数组转换成unit8类型 im2uint16():将图象数组转换成unit16类型 !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! 默认情况下,matlab将图像中的数据存储为double型,即64位浮点数;matlab还支持无符号整型(uint8和uint16);uint型的优势在于节省空间,涉及运算时要转换成double型。 但是,问题的真正的解释其实应该是这样的。首先是在数据类型转换时候uint8和im2uint8的区别,uint的操作仅仅是将一个double类型的小数点后面的部分去掉;但是im2uint8是将输入中所有小于0的数设置为0,而将输入中所有大于1的数值设置为255,再将所有其他值乘以255。 图像数据在进行计算前要转化为double类型的,这样可以保证图像数据运算的精

图像处理灰度变换实验

一. 实验名称:空间图像增强(一) 一.实验目的 1.熟悉和掌握利用matlab工具进行数字图像的读、写、显示、像素处理等数字图像处理的基本步骤和流程。 2.熟练掌握各种空间域图像增强的基本原理及方法。 3.熟悉通过灰度变换方式进行图像增强的基本原理、方法和实现。 4.熟悉直方图均衡化的基本原理、方法和实现。 二.实验原理 (一)数字图像的灰度变换 灰度变换是图像增强的一种经典而有效的方法。灰度变换的原理是将图像的每一个像素的灰度值通过一个函数,对应到另一个灰度值上去从而实现灰度的变换。常见的灰度变换有线性灰度变换和非线性灰度变换,其中非线性灰度变换包括对数变换和幂律(伽马)变换等。 1、线性灰度变换 1)当图像成像过程曝光不足或过度,或由于成像设备的非线性和图像记录设备动态范围太窄等因素,都会产生对比度不足的弊病,使图像中的细节分辨不清,图像缺少层次。这时,可将灰度范围进行线性的扩展或压缩,这种处理过程被称为图像的线性灰度变换。对灰度图像进行线性灰度变换能将输入图像的灰度值的动态范围按线性关系公式拉伸扩展至指定范围或整个动态范围。 2)令原图像f(x,y)的灰度范围为[a,b],线性变换后得到图像g(x,y),其灰度范围为[c,d],则线性灰度变换公式可表示为

a y x f b y x f a b y x f c c a y x f a b c d d y x g <≤≤>?????+---=),(),(),(, ,]),([,),( (1) 由(1)式可知,对于介于原图像f (x,y )的最大和最小灰度值之间的灰度值,可通过线性变换公式,一一对应到灰度范围[c,d]之间,其斜率为(d-c)/(b-a);对于小于原图像的最小灰度值或大于原图像的最大灰度值的灰度值,令其分别恒等于变换后的最小和最大灰度值。变换示意图如图1所示。 图1 线性灰度变换示意图 当斜率大于一时,变换后的灰度值范围得到拉伸,图像对比度得到提高;当斜率小于一时,变换后的灰度值范围被压缩,最小与最大灰度值的差变小,图像对比度降低;当斜率等于一时,相当于对图像不做变换。 3)由上述性质可知,线性灰度变换能选择性地加强或降低特定灰度值范围内的对比度,故线性灰度变换同样也可做分段处理:对于有价值的灰度范围,将斜率调整为大于一,用于图像细节;对于不重要的灰度范围,将图像压缩,降低对比度,减轻无用信息的干扰。最常用的分段线性变换的方法是分三段进行线性变换。 在原图像灰度值的最大值和最小值之间设置两个拐点,在拐点处,原图像的灰度值分别为r 1,r 2,该拐点对应的变换后的图像的灰度值分别为s 1,s 2,另外,取原图像灰度的最小值为r 0,最大值为r m ,对应的变换后的灰度值分别为s 0,s m 。

matlab完成分段函数的灰度变换

图像反转程序: I=imread('pout.tif'); JJ=imadjust(I,[0 1],[1 0]); imshow(JJ,[]); figure; imshow(I,[]); 对数变换程序: I=imread('pout.tif'); imshow(I); Image=log(1+double(I)); figure(2),imshow(I,[]) 伽马变换程序: A=imread('pout.tif'); x=0:255; a=90,b=1.5,c=0.008;

B=b.^(c.*(double(A)-a))-1; y=b.^(c.*(x-a))-1; subplot(2,2,1) imshow(A) subplot(2,2,2) imhist(A) subplot(2,2,3) imshow(B) subplot(2,2,4) imhist(B) figure,plot(x,y) 分段线性变换程序: b=imread('pout.tif');

f0=0;g0=0; f1=10;g1=30; f2=220;g2=180; f3=255;g3=255; figure,plot([f0,f1,f2,f3],[g0,g1,g2,g3]); r1=(g1-g0)/(f1-f0); b1=-r1*f0+g0; r2=(g2-g1)/(f2-f1); b2=-r2*f1+g1; r3=(g3-g2)/(f3-f2); b3=-r3*f2+g2; axis([0 255 0 255]); [m,n]=size(b); h=double(b); figure,imshow(mat2gray(h)); for i=1:m for j=1:n t=h(i,j); g(i,j)=0; if((t>=f0)&&(t<=f1)) g(i,j)=r1*t+b1; else if((t>=f1)&&(t<=f2)) g(i,j)=r2*t+b2; else if((t>=f2)&&(t<=f3)) g(i,j)=r3*t+b3; end end end figure,imshow(mat2gray(g));

matlab界面编程实现灰度变换

图形图像处理课程 大作业 姓名: 班级: 学号:

目录 界面编程实现图像灰度变换 (1) 摘要 (2) 正文 (3) 1.MATLAB界面编程简介: (3) 2.图像的灰度变换简介 (3) 3.采用MATLAB Guide设计界面 (4) 3.1 问题分析: (4) 3.2实验方法: (4) 3.3实验结果: (5) 4. 线性变换的算法设计与实现: (5) 4.1问题分析: (5) 4.2实验方法: (5) 4.3实验结果: (6) 5. 对数变换的算法设计与实现 (8) 5.1问题分析: (8) 5.2实验方法: (8) 5.3实验结果: (8) 6. 幂律变换的算法设计与实现: (10) 6.1问题分析: (10) 6.2实验方法: (10) 6.3实验结果: (11) 实验心得 (13) 附录 (13) 1.参考文献: (13) 2.源代码: (13)

界面编程实现图像灰度变换 问题描述:本课题主要解决的问题是通过MATLAB界面编程实现图像的灰度变换,包括线性灰度变换、对数灰度变换、幂律灰度变换,以此来实现图像增强,使图像更适合于进一步的分析和对它内容的提取。实现界面编程可以更方便的对图片进行操作,例如可以打开任意一张需要处理的图片,可以使图像处理结果更直观,对比更明显,更利于进行观察,同时可以实现保存处理后的图片,这样,图像的操作更简洁、直接。

摘要 本次报告旨在完成以下几个任务: 1、MATLAB界面编程简介; 2、图像的灰度变换简介; 3、采用MATLAB Guide设计界面,设计实现下列功能的按钮:可以读入并显示任意一张图像,可以实现图像灰度变换(线性变换、对数变换和幂律变换),可以保存处理后的图片,可以退出程序,点击相应的按钮可以实现相应的功能; 4、线性变换的算法设计与实现; 5、对数变换的算法设计与实现; 6、幂律变换的算法设计与实现。 结果如正文所示。

MATLAB课程设计_图像处理完整版

MATLAB课程设计 设计题目:应用图像处理 班级: 学号: 姓名: 指导老师: 设计时间:2013年4月8号-4月14号

摘要 21世纪是一个充满信息的时代,图像作为人类感知世界的视觉基础,是人类获取信息、表达信息和传递信息的重要手段。图像处理,是用计算机对图像进行分析,以达到所需结果的技术。又称影像处理。基本容图像处理一般指数字图像处理。数字图像是指用数字摄像机、扫描仪等设备经过采样和数字化得到的一个大的二维数组,该数组的元素称为像素,其值为一整数,称为灰度值。图像处理技术的主要容包括图像压缩,增强和复原,匹配、描述和识别3个部分。常见的处理有图像数字化、图像编码、图像增强、图像复原、图像分割和图像分析等。图像处理一般指数字图像处理。所谓数字图像处理[7]就是利用计算机对图像信息进行加工以满足人的视觉心理或者应用需求的行为。实质上是一段能够被计算机还原显示和输出为一幅图像的数字码。 关键词:DCT变换;图像压缩;真色彩增强;平滑;锐化;直方图均衡; 灰度变换;滤波;M文件的使用 目录 摘要………………………………………………………………I 1 概述……………………………………………………………II 2 课程设计任务及要求...............................III 2.1.1设计任务 2.1.2设计要求 3 系统设计原理 (Ⅳ) 3.1 DCT图像压缩原理 3.2 真彩色增强 3.2.1平滑 3.2.2锐化 3.3 灰度变换(直方图均衡化) 3.4 图像滤波

3.4.1中值滤波器 3.4.2维纳滤波器 4 程序代码及实验结果与分析 (Ⅵ) 4.1 DCT图像压缩 4.1.1程序代码 4.1.2实验结果 4.1.3结果分析 4.2 真彩色增强 4.2.1平滑程序代码 4.2.2实验结果 4.2.3结果分析 4.2.4锐化程序代码 4.2.5实验结果 4.2.6结果分析 4.3 灰度变换(直方图均衡化) 4.3.1程序代码 4.3.2实验结果 4.3.3结果分析 4.4 图像滤波 4.4.1程序代码 4.4.2实验结果 4.4.3结果分析 5 收获体会 (Ⅶ) 6 参考文献 (Ⅷ) 概述

基于灰度变换的图像增强及MATLAB实现

学号: 20994055003 数字图像处理论文 二〇一二年十月

基于灰度变换的图像增强及Matlab实现 摘要:图像增强不仅可以用于提高图像的视觉外观,而且还是图像边缘检测以及特征提取等技术的基础。此文主要研究用于增强图像的灰度变换方法,包括线性灰度变换、非线性灰度变换与直方图均衡化方法。采用MA TLAB软件进行编程,运用上述算法对图像进行处理。实验结果表明,处理后的图像对比度得到了明显改善,增强了图像的视觉效果。在以上算法中可以通过灵活设置相关参数获取不同的图像增强效果,并且具有处理速度快的优点。 关键字:数字图像处理;图像增强;直方图;均衡化;规定化;matlab 一引言:图像增强技术是不考虑图像降质的原因,只将图像中感兴趣的特征有选择地突出,而衰减其不需要的特征,故改善后的图像不一定要去逼近原图像。如突出目标物轮廓,去除各类噪音,将黑白图像转变为伪彩色图像。从图像质量评价观点来看,图像增强的主要目的是提高图像的可懂度,更有利于人的视觉感知 二图像增强的重要方法简介: 图像增强技术主要包含直方图修改处理、图像平滑化处理、图像尖锐化处理、和彩色处理技术等。图像增强有图像对比度增强、亮度增强,轮廓增强等等。图像增强有两类方法:空间域法和频率域法。空间域法主要在空间域内对像素灰度值直接运算处理,如图像的灰度变换直方图修正图像空域平滑和蜕化处理。频域法就是在图像的某种变化域内,对图像的变换值进行预算,如先对图像进行傅里叶变换,在进行滤波处理,最后将滤波处理后的图像变换值反变换到空间域,从而获得增强后的图像。 1、对比度增强 是一种通过改变图像像元的亮度分布态势,扩展灰度分布区间来改变图像像元对比度,从而改善图像质量的图像处理方法。因为亮度值是辐射强度的反映,所以也称为辐射增强。常用的方法有对比度线性变换和非线性变换。其关键是寻找到一个函数,以此函数对图像中每一个像元进行变换,使像元得到统一的重新分配,构成得到反差增强的图像 2、直方图增强 (1)直方图均衡化(2)直方图规定化 3、平滑平滑图像中出现某些亮度变化过大的区域,或出现不该有的亮点(“噪声”)时采用平滑方法可以减小变化,使亮度平缓或去掉不必要“噪声”点。它实际上是使图像中高频成分消退,即平滑图像的细节,降低其反差,保存低频成分,在频域中称为低通滤波。 4、锐化的作用在于提高边缘灰度值的变化率,使界线更加清晰。它是增强图像中的高频成分,在频域处理中称为高通滤波,也就是使图像细节的反差提高,也称边缘增强。要突

matlab 灰度图像的傅里叶变换

一.实验题目: 书上P274页,找两张图,求其一的二维傅里叶变换的图像:模,相位,模*0相位,1*相位,第一张的相位*第二张的模 二.算法说明 利用matlab,对图像进行fft2(),fftshift(),abs(),angle(), Ifftshift(),iff2t()等一系列函数变换,得到想要的答案并输出。 三.测试结果 实验成绩:指导教师:

四.附录:源代码 a=imread('C:\Users\SH\Desktop\image.jpg'); a=rgb2gray(a);%×a??3é?ò?è 转换成灰度 figure,imshow(a),title('a'); b=imread('C:\Users\SH\Desktop\image2.jpg'); b=rgb2gray(b);%×¢òa??μ?á???í?3?′?òaò???figure,imshow(b),title('g'); A=fft2(a);%?μà?ò?±??? 二维FFT变换 B=fft2(b); A1=fftshift(A);%?DD??ˉ 中心化 B1=fftshift(B); l1=abs(A1);%è??£ 取模 A2=log(l1);%è???êy£??ü?÷?? l2=abs(B1); B2=log(l2); A3=angle(A1);%è??à?? 取相位 B3=angle(B2); figure,imshow(A2,[]),title('b');%??ê?í?1μ??£figure,imshow(A3),title('c');%??ê?í?1μ??à??BB=l1.*exp(1i*0); bb=ifftshift(BB);%·′?DD??ˉ 反中心化 b2=ifft2(bb);%·′±??? 反FFT figure,imshow(b2,[]),title('d');%?£*0?à?? AA=1.*exp(1i*A3);

基于灰度变换的图像增强及MATLAB实现

( 二 〇 〇 九 年 十 二 月 数字图像处理结业论文 学 号: 200720906041 题 目: 基于灰度变换的图像增强及Matlab 实现 学生姓名: 崔跃鹏 学 院: 理学院 系 别: 物理 系 专 业: 电子信息科学与技术 班 级: 电科07-2班 授课教师: 杨秀清 学号:200720906041

基于灰度变换的图像增强及Matlab实现 摘要:图像增强不仅可以用于提高图像的视觉外观,而且还是图像边缘检测以及特征提取等技术的基础。此文主要研究用于增强图像的灰度变换方法,包括线性灰度变换、非线性灰度变换与直方图均衡化方法。采用MA TLAB软件进行编程,运用上述算法对图像进行处理。实验结果表明,处理后的图像对比度得到了明显改善,增强了图像的视觉效果。在以上算法中可以通过灵活设置相关参数获取不同的图像增强效果,并且具有处理速度快的优点。 关键字:数字图像处理;图像增强;直方图;均衡化;规定化;matlab 一引言:图像增强技术是不考虑图像降质的原因,只将图像中感兴趣的特征有选择地突出,而衰减其不需要的特征,故改善后的图像不一定要去逼近原图像。如突出目标物轮廓,去除各类噪音,将黑白图像转变为伪彩色图像。从图像质量评价观点来看,图像增强的主要目的是提高图像的可懂度,更有利于人的视觉感知 二图像增强的重要方法简介: 图像增强技术主要包含直方图修改处理、图像平滑化处理、图像尖锐化处理、和彩色处理技术等。图像增强有图像对比度增强、亮度增强,轮廓增强等等。图像增强有两类方法:空间域法和频率域法。空间域法主要在空间域内对像素灰度值直接运算处理,如图像的灰度变换直方图修正图像空域平滑和蜕化处理。频域法就是在图像的某种变化域内,对图像的变换值进行预算,如先对图像进行傅里叶变换,在进行滤波处理,最后将滤波处理后的图像变换值反变换到空间域,从而获得增强后的图像。 1、对比度增强 是一种通过改变图像像元的亮度分布态势,扩展灰度分布区间来改变图像像元对比度,从而改善图像质量的图像处理方法。因为亮度值是辐射强度的反映,所以也称为辐射增强。常用的方法有对比度线性变换和非线性变换。其关键是寻找到一个函数,以此函数对图像中每一个像元进行变换,使像元得到统一的重新分配,构成得到反差增强的图像 2、直方图增强 (1)直方图均衡化(2)直方图规定化 3、平滑平滑图像中出现某些亮度变化过大的区域,或出现不该有的亮点(“噪声”)时采用平滑方法可以减小变化,使亮度平缓或去掉不必要“噪声”点。它实际上是使图像中高频成分消退,即平滑图像的细节,降低其反差,保存低频成分,在频域中称为低通滤波。 4、锐化的作用在于提高边缘灰度值的变化率,使界线更加清晰。它是增强图像中的高频成分,在频域处理中称为高通滤波,也就是使图像细节的反差提高,也称边缘增强。要突出图像的边缘、线状目标或亮度变化率大的部分常采用锐化方法。

matlab图像的灰度变换

实验二图像的灰度变换 一、实验目的 1、理解数字图像处理中点运算的基本作用; 2、掌握对比度调整与灰度直方图均衡化的方法。 2、直方图均衡化 直方图均衡化的目的是将原始图像的直方图变为均衡分布的形式,即将一已知灰度概率密度分布的图像,经过某种变换变成一幅具有均匀灰度概率密度分布的新图像,从而改善图像的灰度层次。 MATLAB图像处理工具箱中提供的histeq函数,可以实现直方图的均衡化。 三、实验内容及要求 1、用MATLAB在自建的文件夹中建立example2.m程序文件。在这个文件的程序中,将 girl2.bmp图像文件读出,显示它的图像及灰度直方图(可以发现其灰度值集中在一段区域)。用imadjust函数将它的灰度值调整到[0,1]之间,并观察调整后的图像与原图像的差别,调整后的灰度直方图与原灰度直方图的区别;改变灰度值调整范围,观察调整后的图像的变化及其与原图像的差别,调整后的灰度直方图的变化及其与原灰度直方图的区别;进一步利用改变灰度值调整范围,实现图像的反转。 程序: A=imread('E:\1\girl2.bmp','bmp'); figure(1),subplot(2,2,1);imshow(A); figure(1),subplot(2,2,2);imhist(A); B=imadjust(A,[0.35 0.65],[]); figure(1),subplot(2,2,3);imshow(B); figure(1),subplot(2,2,4);imhist(B)

两次改变调整范围: A=imread('E:\1\girl2.bmp','bmp'); C=imadjust(A,[0.35 0.65],[0 0.5]); figure(2),subplot(2,2,1);imshow(C); figure(2),subplot(2,2,2);imhist(C); D=imadjust(A,[0.35 0.65],[0.2 0.8]); figure(2),subplot(2,2,3);imshow(D); figure(2),subplot(2,2,4);imhist(D)

图像灰度变换实验报告

图像灰度变换报告 一.实验目的 1.学会使用Matlab ; 2.学会用Matlab 软件对图像进行灰度变换,观察采用各种不同灰度变换发法对最终图像效果的影响; 二.实验内容 1.熟悉Matlab 中的一些常用处理函数 读取图像:img=imread('filename'); //支持TIF,JPEG,GIF,BMP,PNG 等文件格式。 显示图像:imshow(img,G); //G 表示显示该图像的灰度级数,如省略则默认为256。 保存图片:imwrite(img,'filename'); //不支持GIF 格式,其他与imread 相同。 亮度变换:imadjust(img,[low_in,high_in],[low_out,high_out]); //将low_in 至high_in 之间的值映射到low_out 至high_out 之 间,low_in 以下及high_in 以上归零。 绘制直方图:imhist(img); 直方图均衡化:histeq(img,newlevel); //newlevel 表示输出图像指定的灰度级数。 2.获取实验用图像:rice.jpg. 使用imread 函数将图像读入Matlab 。 3 .产生灰度变换函数T1,使得: 0.3r r < 0.35 s = 0.105 + 2.6333(r – 0.35) 0.35 ≤ r ≤ 0.65 1 + 0.3(r – 1) r > 0.65 用T1对原图像rice.jpg 进行处理,使用imwrite 函数保存处理后的新图像。 4.产生灰度变换函数T2,使得: s = 5.用T2 保存处理后的新图像。 6.分别用 s = r 0.6; s = r 0.4; s = r 0.3 对kids.tiff 图像进行处理。为简便起见,使用Matlab 中的imadjust 函数,最后用imwrite 保存处理后的新图像。 7.对circuit.jpg 图像实施反变换(Negative Transformation )。s =1-r; 使用imwrite 保存处理后的新图像。 8.对rice.jpg 图像实施灰度切片

数字图像处理实验报告(图像灰度变换处理)

数字图像处理实验报告 班级: 姓名: 学号:

数字图像处理实验报告 一.实验名称:图像灰度变换 二.实验目的:1 学会使用Matlab; 2 学会用Matlab软件对图像灰度进行变换,感受各种 不同的灰度变换方法对最终图像效果的影响。 三.实验原理: Matlab中经常使用的一些图像处理函数: 读取图像:img=imread('filename'); //支持TIFF,JPEG,GIF,BMP,PNG,XWD等文件格式。 显示图像:imshow(img,G); //G表示显示该图像的灰度级数,如省略则默认为256。 保存图片:imwrite(img,'filename'); //不支持GIF格式,其他与imread相同。 亮度变换:imadjust(img,[low_in,high_in],[low_out,high_out]); //将low_in至high_in之间的值映射到low_out至high_out之间,low_in 以下及high_in以上归零。 绘制直方图:imhist(img); 直方图均衡化:histeq(img,newlevel); //newlevel表示输出图像指定的灰度级数。 像平滑与锐化(空间滤波): w=fspecial('type',parameters);imfilter(img,w); //这两个函数结合将变得十分强大,可以实现photoshop里的任意滤镜。 图像复原:deconvlucy(img,PSF); //可用于图像降噪、去模糊等处理。 四.实验步骤: 1.获取实验用图像:Fig3.10(b).jpg. 使用imread函数将图像读入Matlab。 2.产生灰度变换函数T1,使得: 0.3r r < 0.35 s = 0.105+2.6333(r–0.35) 0.35 ≤ r ≤ 0.65 1+0.3(r–1) r > 0.65 用T1对原图像Fig3.10(b).jpg进行处理,打印处理后的新图像。

基于灰度变换的图像增强及MATLAB实现.

号: 200720906041 学 数字图像处理结业论文 ( 题目:基于灰度变换的图像增强及Matlab实现学生姓名:崔跃鹏 学院:理学院 系别:物理系 专业:电子信息科学与技术 班级:电科07-2班 授课教师:杨秀清 学号:200720906041

二〇〇九年十二月 基于灰度变换的图像增强及Matlab实现 摘要:图像增强不仅可以用于提高图像的视觉外观,而且还是图像边缘检测以及特征提取等技术的基础。此文主要研究用于增强图像的灰度变换方法,包括线性灰度变换、非线性灰度变换与直方图均衡化方法。采用MATLAB软件进行编程,运用上述算法对图像进行处理。实验结果表明,处理后的图像对比度得到了明显改善,增强了图像的视觉效果。在以上算法中可以通过灵活设置相关参数获取不同的图像增强效果,并且具有处理速度快的优点。 关键字:数字图像处理;图像增强;直方图;均衡化;规定化; matlab 一引言:图像增强技术是不考虑图像降质的原因,只将图像中感兴趣的特征有选择地突出,而衰减其不需要的特征,故改善后的图像不一定要去逼近原图像。如突出目标物轮廓,去除各类噪音,将黑白图像转变为伪彩色图像。从图像质量评价观点来看,图像增强的主要目的是提高图像的可懂度,更有利于人的视觉感知 二图像增强的重要方法简介: 图像增强技术主要包含直方图修改处理、图像平滑化处理、图像尖锐化处理、和彩色处理技术等。图像增强有图像对比度增强、亮度增强,轮廓增强等等。图像增强有两类方法:空间域法和频率域法。空间域法主要在空间域内对像素灰度值直接运算处理,如图像的灰度变换直方图修正图像空域平滑和蜕化处理。频域法就是在图像的某种变化域内,对图像的变换值进行预算,如先对图像进行傅里叶变换,在进行滤波处理,最后将滤波处理后的图像变换值反变换到空间域,从而获得增强后的图像。 1、对比度增强 是一种通过改变图像像元的亮度分布态势,扩展灰度分布区间来改变图像像元对比度,从而改善图像质量的图像处理方法。因为亮度值是辐射强度的反映,所以也称为辐射增强。常用的方法有对比度线性变换和非线性变换。其关键是寻找到一个函数,以此函数对图像中每一个像元进行变换,使像元得到统一的重新分配,构成得到反差增强的图像 2、直方图增强 (1)直方图均衡化(2)直方图规定化

相关文档
最新文档