数字图像处理实验二 图像灰度变换
图像的灰度变换
昆明理工大学(数字图像处理)实验报告实验名称:图像的灰度变换专业:电子信息科学与技术姓名:学号:成绩:[实验目的]1、理解并掌握灰度变换的基本原理和方法。
2、编程实现图像灰度变换。
3、分析不同的灰度变换方法对最终图像效果的影响。
[实验内容]1、灰度的线性变换;2、灰度的非线性变换;3、图像的二值化;4、图像的反色处理;[实验原理]图像的灰度变换 ( gray scale transformation, GST ) 处理是图像增强处理技术中一种非常基础、直接的空间域图像处理方法,也是图像数字化软件和图像显示软件的一个重要组成部分。
灰度变换是指根据某种目标条件按一定变换关系逐点改变原图像中每一个像素灰度值的方法。
目的是为了改善画质,使图像的显示效果更加清晰。
灰度变换有时又被称为图像的对比度增强或对比度拉伸。
从图像输入装置得到的图像数据, 以浓淡表示, 各个像素与某一灰度值相对应。
设原图像像素的灰度值 D=f(x,y),处理后图像像素的灰度值D′= g (x,y),则灰度增强可表示为:g(x,y)=T[f(x,y)]或 D ′= T (D)要求 D 和 D′都在图像的灰度范围之内。
函数 T(D) 称为灰度变换函数,它描述了输入灰度值和输出灰度值之间的转换关系。
灰度变换主要针对独立的像素点进行处理,通过改变原始图像数据所占据的灰度范围而使图像在视觉上得到良好的改观,没有利用像素点之间的相互空间关系。
因此,灰度变换处理方法也叫做点运算法。
点运算可以按照预定的方式改变一幅图像的灰度直方图。
除了灰度级的改变是根据某种特定的灰度变换函数进行之外,点运算可以看做是“从像素到像素”的复制操作。
根据g(x,y)=T[f(x,y)] , 可以将灰度变换分为线性变换和非线性变换。
1、灰度的线性变换若g(x,y)=T[f(x,y)]是一个线性或分段线性的单值函数,例如g(x,y)=T[f(x,y)]=af(x,y)+b则由它确定的灰度变换称为灰度线性变换,简称线性变换。
3.图像增强—灰度变换 - 数字图像处理实验报告
计算机与信息工程学院验证性实验报告一、实验目的:1、了解图像增强的目的及意义,加深对图像增强的感性认识,巩固所学理论知识。
2、学会对图像直方图的分析。
3、掌握直接灰度变换的图像增强方法。
二、实验原理及知识点术语‘空间域’指的是图像平面本身,在空间与内处理图像的方法是直接对图像的像素进行处理。
空间域处理方法分为两种:灰度级变换、空间滤波。
空间域技术直接对像素进行操作其表达式为g(x,y)=T[f(x,y)]其中f(x,y)为输入图像,g(x,y)为输出图像,T是对图像f进行处理的操作符,定义在点(x,y)的指定领域内。
定义点(x,y)的空间邻近区域的主要方法是,使用中心位于(x,y)的正方形或长方形区域。
此区域的中心从原点(如左上角)开始逐像素点移动,在移动的同时,该区域会包含不同的领域。
T应用于每个位置(x,y),以便在该位置得到输出图像g。
在计算(x,y)处的g值时,只使用该领域的像素。
灰度变换T的最简单形式是使用领域大小为1×1,此时,(x,y)处的g值仅由f 在该点处的亮度决定,T也变为一个亮度或灰度级变化函数。
当处理单设(灰度)图像时,这两个术语可以互换。
由于亮度变换函数仅取决于亮度的值,而与(x,y)无关,所以亮度函数通常可写做如下所示的简单形式:s=T(r)其中,r表示图像f中相应点(x,y)的亮度,s表示图像g中相应点(x,y)的亮度。
三、实验内容:1、图像数据读出2、计算并分析图像直方图3、利用直接灰度变换法对图像进行灰度变换下面给出灰度变化的MATLAB程序f=imread('medicine_pic.jpg');g=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('point.jpg');h=log(1+double(g)); %对输入图像对数映射变换h=mat2gray(h); %将矩阵h转换为灰度图片h=im2uint8(h); %将灰度图转换为8位图figure,imshow(h)四、实验仪器PC一台,MATLAB软件五、实验图片columbia480.bmp Fig0704(Vase).tif.tif六、实验程序及结果clc;clear allf=imread('columbia480.bmp');subplot 121;imshow(f)title('原始图像')subplot 122;imhist(f,256)title('原始图像直方图')%灰度转换,实现明暗转换(负片图像)f1=imadjust(f,[0 1],[1 0]);figure(2)subplot 121,imshow(f1)title('明暗转换后的图像')subplot 122;imhist(f1,256) title('明暗转换直方图')%将0.5到0.75的灰度级扩展到范围[0 1] f2=imadjust(f,[0.5 0.75],[0 1]); figure(3)subplot 121;imshow(f2)title('0.5到0.75的灰度级扩展到范围[0 1]的图像') subplot 122;imhist(f2,256) title('灰度级扩展直方图')原始图像0原始图像直方图100200明暗转换后的图像明暗转换直方图1002000.5到0.75的灰度级扩展到范围[0 1]的图像04灰度级扩展直方图100200clc;clear allm=imread('Fig0704(Vase).tif.tif');h=log(1+double(m)); %对输入图像对数映射变换 h=mat2gray(h); %将矩阵h 转换为灰度图片 h=im2uint8(h); %将灰度图转换为8位图 figuresubplot 221;imshow(m) title('原始图像') subplot 222;imhist(m) title('原始图像直方图') subplot 223;imshow(h)title('经log 变换后的图像') subplot 224;imhist(h)title('经log 变换后的图像直方图')原始图像原始图像直方图100200经log变换后的图像0经log 变换后的图像直方图100200教师签名:年 月 日。
实验二 图像的灰度变换增强
实验二 图像的灰度变换增强一、实验目的1、 理解数字图像处理中点运算的基本作用;2、 掌握对比度调整与灰度直方图均衡化的方法。
二、实验原理1、对比度调整如果原图像f (x , y )的灰度范围是[m , M ],我们希望对图像的灰度范围进行线性调整,调整后的图像g (x , y )的灰度范围是[n , N ],那么下述变换:[]n m y x f mM nN 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](注意:灰度范围只能在0~1之间)。
例:I = imread('pout.tif');J = imadjust(I, [0.3 0.7], [ ]); %输出灰度范围为默认范围,即为[0, 1] imshow(I), figure, imshow(J)不使用imadjust函数,利用matlab语言直接编程也很容易实现灰度图像的对比度调整。
但运算的过程中应当注意以下问题,由于我们读出的图像数据一般是uint8型,而在MATLAB的矩阵运算中要求运算变量为double型(双精度型)。
因此读出的图像数据不能直接进行运算,必须将图像数据转换成双精度型数据。
MATLAB中提供了这样的图像数据类型转换函数:im2double函数,其语法格式为:I2 = im2double(I1)该函数将I1的各元素除以255后转换为0~1内的双精度型数据。
数字图像处理实验报告:灰度变换与空间滤波(附带程序,不看后悔)
1.灰度变换与空间滤波一种成熟的医学技术被用于检测电子显微镜生成的某类图像。
为简化检测任务,技术决定采用数字图像处理技术。
发现了如下问题:(1)明亮且孤立的点是不感兴趣的点;(2)清晰度不够,特别是边缘区域不明显;(3)一些图像的对比度不够;(4)技术人员发现某些关键的信息只在灰度值为I1-I2的范围,因此,技术人员想保留I1-I2区间范围的图像,将其余灰度值显示为黑色。
(5)将处理后的I1-I2范围内的图像,线性扩展到0-255灰度,以适应于液晶显示器的显示。
请结合本章的数字图像处理处理,帮助技术人员解决这些问题。
1.1问题分析及多种方法提出(1)明亮且孤立的点是不够感兴趣的点对于明亮且孤立的点,其应为脉冲且灰度值为255(uint8)噪声,即盐噪声,为此,首先对下载的细胞图像增加盐噪声,再选择不同滤波方式进行滤除。
均值滤波:均值滤波是典型的线性滤波算法,它是指在图像上对目标像素给一个模板,该模板包括了其周围的临近像素(以目标像素为中心的周围8个像素,构成一个滤波模板,即去掉目标像素本身),再用模板中的全体像素的平均值来代替原来像素值。
优点:速度快,实现简单;缺点:均值滤波本身存在着固有的缺陷,即它不能很好地保护图像细节,在图像去噪的同时也破坏了图像的细节部分,从而使图像变得模糊,不能很好地去除噪声点。
其公式如下:使用矩阵表示该滤波器则为:中值滤波:滤除盐噪声首选的方法应为中值滤波,中值滤波法是一种非线性平滑技术,它将每一像素点的灰度值设置为该点某邻域窗口内的所有像素点灰度值的中值。
其过程为:a 、存储像素1,像素2.....像素9的值;b 、对像素值进行排序操作;c 、像素5的值即为数组排序后的中值。
优点:由于中值滤波本身为一种利用统计排序方法进行的非线性滤波方法,故可以滤除在排列矩阵两边分布的脉冲噪声,并较好的保留图像的细节信息。
缺点:当噪声密度较大时,使用中值滤波后,仍然会有较多的噪声点出现。
数字图像处理实验报告:灰度变换与空间滤波(附带程序,不看后悔)_1
数字图像处理实验报告灰度变换与空间滤波(附带程序,不看后悔)1.灰度变换与空间滤波一种成熟的医学技术被用于检测电子显微镜生成的某类图像。
为简化检测任务,技术决定采用数字图像处理技术。
发现了如下问题:(1)明亮且孤立的点是不感兴趣的点;(2)清晰度不够,特别是边缘区域不明显;(3)一些图像的对比度不够;(4)技术人员发现某些关键的信息只在灰度值为I1-I2 的范围,因此,技术人员想保留I1-I2 区间范围的图像,将其余灰度值显示为黑色。
(5)将处理后的I1-I2 范围内的图像,线性扩展到0-255 灰度,以适应于液晶显示器的显示。
请结合本章的数字图像处理处理,帮助技术人员解决这些问题。
1.1 问题分析及多种方法提出(1)明亮且孤立的点是不够感兴趣的点对于明亮且孤立的点,其应为脉冲且灰度值为255(uint8)噪声,即盐噪声,为此,首先对下载的细胞图像增加盐噪声,再选择不同滤波方式进行滤除。
均值滤波:均值滤波是典型的线性滤波算法,它是指在图像上对目标像素给一个模板,该模板包括了其周围的临近像素(以目标像素为中心的周围8 个像素,构成一个滤波模板,即去掉目标像素本身),再用模板中的全体像素的平均值来代替原来像素值。
优点:速度快,实现简单;缺点:均值滤波本身存在着固有的缺陷,即它不能很好地保护图像细节,在图像去噪的同时也破坏了图像的细节部分,从而使图像变得模糊,不能很好地去除噪声点。
其公式如下:使用矩阵表示该滤波器则为:中值滤波:滤除盐噪声首选的方法应为中值滤波,中值滤波法是一种非线性平滑技术,它将每一像素点的灰度值设置为该点某邻域窗口内的所有像素点灰度值的中值。
其过程为:a、存储像素1,像素2 ....... 像素9 的值;b、对像素值进行排序操作;c、像素5 的值即为数组排序后的中值。
优点:由于中值滤波本身为一种利用统计排序方法进行的非线性滤波方法,故可以滤除在排列矩阵两边分布的脉冲噪声,并较好的保留图像的细节信息。
图像的基本灰度变换
Digital Image Processing 数字图像处理实验DIP Lab 2数字图像处理实验2 —空间域增强(1):图像的灰度变换实验目的1.学习常见的图像增强的方法并实际体会图像增强前后画质的变化;2.了解几种不同增强方式用于不同图像处理所取得的效果;3.培养处理实际图像的能力并为课堂教学提供配套的实践机会。
实验要求1.利用MatLab工具箱中关于图像增强的函数对本指导书中的指定图像进行灰度增强处理;2.自己编制程序实现MatLab工具箱中函数以外的图像增强算法,对于本指导书中指定的图像进行处理。
实验内容一:灰度变换1.运用亮度变换函数imadjust对图像进行增强处理,观察图像对比度的变化。
实验教材P63 -642.学习教材【例2-21】和【例2-22】,实现对图像进行分段线性变换:编程实验:对图pout.tif ,将其小于30的灰度值不变,将30到150的灰度值拉伸到30到200,同时压缩150到255的灰度值到200到255之间.3.编程实验:对图像Fig3.04(a).jpg进行求反,观察图像处理前后的变化;4.验证实验:对图像进行对数变换,观察图像处理前后的变化;5.总结灰度变换增强方法处理的特点;常见图像格式数据类操作提示(续)w贴图时可以点击图像窗口的Edit,然后在下拉菜单中点击Copy Figure,即可将图像放入减切板,然后就可以在WORD文档中粘贴。
灰度变换原图像f(m,n) 的灰度范围[a,b] 线形变换为图像g(m,n),灰度范围[a’,b’]公式:g(m,n)=a’+(b’-a’)* f(m,n) /(b-a)运用灰度变换函数imadjustJ = imadjust(I,[low in;high in],[low out;high out],gamma)反转实验:思考用matlab自带函数imadjust实现图像反转,图3.4(a)思考题/问答题1.小结一下本实验所用的增强方法。
实验2 图像的灰度变换
GDOU-B-11-112广东海洋大学学生实验报告书(学生用表)实验名称图像的基本操作课程名称数字图像处理课程号学院(系) 信息学院专业电子信息工程班级电子1103班学生姓名杜嘉星学号201011611308 实验地点实验日期实验2 图像的灰度变换一、实验目的:学会用MATLAB软件对图像进行运算和灰度变换。
二、实验内容:用+、-、*、/、imabsdiff、imadd、imcomplment、imdivide、imlincomb、immultiply、imsubtract和imadjust等函数生成各类灰度变换图像。
三、实验报告要求:写出每步处理的命令,并提交原图像和处理后的图像。
四、实验相关知识1、代数运算两幅图像之间进行点对点的加、减、乘、除运算后得到输出图像。
我们可以分别使用MATLAB的基本算术符+、-、*、/来执行图像的算术操作,但是在此之前必须将图像转换为适合进行基本操作的双精度类型(命令函数为double())。
为了更方便对图像进行操作,图像处理工具箱中也包含了一个能够实现所有非稀疏数值数据的算术操作的函数集合。
如下所示:imabsdiff:计算两幅图像的绝对差值imadd:两个图像的加法imcomplement:一个图像的补imdivide:两个图像的除法imlincomb:计算两幅图像的线性组合immultiply:两个图像的乘法imsubtract:两个图像的减法使用图像处理工具箱中的图像代数运算函数无需再进行数据类型间的转换,这些函数能够接受uint8和uint16数据,并返回相同格式的图像结果。
代数运算的结果很容易超出数据类型允许的范围。
图像的代数运算函数使用以下截取规则使运算结果符合数据范围的要求:超出数据范围的整型数据将被截取为数据范围的极值,分数结果将被四舍五入。
2、灰度变换点运算也称为灰度变换,是一种通过对图像中的每个像素值进行运算,从而改善图像显示效果的操作。
数字图像处理实验报告
数字图像处理实验报告一、引言数字图像处理是一门涉及图像获取、图像处理和图像分析的重要学科,广泛应用于计算机科学、电子工程、通信技术等领域。
本报告旨在介绍并总结我所进行的数字图像处理实验,讨论实验的目的、方法、结果和分析。
二、实验目的通过本次实验,旨在掌握和理解数字图像处理的基本原理和常见技术,包括灰度变换、空间域滤波、频域滤波等,以及层次分割、边缘检测和形态学处理等高级应用技术。
三、实验方法1. 寻找合适的图像在实验中,我选用了一张自然风景图像作为处理对象。
这张图像包含丰富的纹理和颜色信息,适合用于多种图像处理方法的验证和比较。
2. 灰度变换灰度变换是数字图像处理中常见的基础操作,可以通过对图像的像素灰度值进行线性或非线性变换,来调整图像的对比度、亮度等特征。
在实验中,我利用线性灰度变换方法将原始彩色图像转换为灰度图像,并进行对比度的调整,观察处理结果的变化。
3. 空间域滤波空间域滤波是一种基于像素邻域的图像处理方法,常用于图像去噪、边缘增强等应用。
我使用了平滑滤波和锐化滤波两种方法,并针对不同的滤波算子和参数进行了实验和比较,评估其对图像细节和边缘保留的影响。
4. 频域滤波频域滤波是一种基于图像的频谱特征的图像处理方法,广泛应用于图像增强、去噪和特征提取等方面。
我利用傅里叶变换将图像从空间域转换到频域,采用理想低通滤波器和巴特沃斯低通滤波器进行图像的模糊处理,并进行了实验对比和分析。
5. 高级应用技术在实验中,我还研究了数字图像处理中的一些高级应用技术,包括层次分割、边缘检测和形态学处理。
通过应用不同的算法和参数,我实现了图像区域分割、提取图像边缘和形态学形状变换等效果,评估处理结果的准确性和稳定性。
四、实验结果与分析通过对以上实验方法的实施,我获得了一系列处理后的图像,并进行了结果的比较和分析。
在灰度变换实验中,我发现线性变换对图像的对比度有较大影响,但对图像的细节变化不敏感;在空间域滤波实验中,平滑滤波可以有效降噪,但会导致图像细节损失,而锐化滤波可以增强图像的边缘效果,但也容易引入噪声;在频域滤波实验中,理想低通滤波对图像的模糊效果明显,而巴特沃斯低通滤波器可以在一定程度上保留图像的高频细节信息;在高级应用技术实验中,边缘检测和形态学处理对提取图像边缘和形状变换非常有效,但参数的选择会对结果产生较大影响。
数字图像处理实验二图像灰度直方图实验
课程名称数字图像处理与分析实验序号实验二实验项目图像灰度直方图实验实验地点实验学时实验类型指导教师实验员专业班级学号姓名年月日分析:由生成的图像可知,索引图比灰度图的灰度等级更大,颜色更暗,二值图像只能描述其轮廓,不能描述细节。
代码:clear ; %清除内存原有一切变量RGB=imread('gou.jpg');[X1,map]=rgb2ind(RGB,64);I=rgb2gray(RGB); %把RGB图变为灰度图X2=rgb2ind(RGB,map);subplot(2,2,1),imshow(RGB);title('yuantu');subplot(2,2,2),imshow(I);title('graytu'); %显示灰度图subplot(2,2,3),imshow(X1,map);title('x1map');subplot(2,2,4),imshow(X2,map);title('x2map');运行结果:分析:由生成的图像可知,RGB图转换灰度图失败,不清楚原因,但是代码没有问题;由RGB转换的两张索引图和原图没有肉眼可识别的差别。
2、计算出一幅灰度图像的直方图代码:clear;close all;RGB=imread('gou.jpg'); % 把RGB图读入矩阵I=rgb2gray(RGB); %把RGB图变为灰度图imhist(I);title('实验1 直方图');运行结果:分析:灰度图较暗,因此灰度直方图像素灰度值取在左边较暗的区域。
3、对灰度图像进行简单灰度线形变换代码:RGB=imread('gou.jpg');I=rgb2gray(RGB);subplot(2,2,1),imshow(I);subplot(2,2,2),imhist(I);J=histeq(I);subplot(2,2,3),imshow(J);subplot(2,2,4), imhist(J); title('实验2 -直方图均衡化');运行结果:分析:由生成的图像可知,原始图像较暗且动态范围较小,反应在直方图上就是直方图所占据的灰度值范围比较窄,且集中在低灰度值一边。
数字图像处理实验报告灰度修正和锐化技术
灰度修正和锐化技术摘要1.灰度变换:选择一副对比度不足的图像,对该图进行灰度变换,增强对比度,显示增强前、后的图像以及他们的灰度直方图。
2.直方图均衡:选择一副灰度直方图不均匀的图像,对该图像做直方图均衡处理,显示处理前后的图像以及他们的灰度直方图。
3.选择一副边缘较模糊的图像,利用高通滤波器对此图像边缘增强,观察增强的效果。
正文1.灰度变换可以增大图像的动态范围,扩大图像的对比度,使图像特征变得明显。
灰度变换包括灰度的线性变换和非线性变换。
增强前增强后10020005000100000100200510x 1042.直方图均衡化是通过对原图像进行某种灰度变换,是变换后图像的直方图能均匀分布,这样就能使原图像中具有相近灰度且占有大量像素点的区域之灰度范围展宽,使大区域中的微小灰度变化显现出来,使图像更清晰。
原图像01002000.511.522.53x 104原图像直方图均衡化后的图像01002000.511.522.53x 104均衡化后的直方图3.图像锐化就是希望增强图像中的边缘(细节)信息,及对边缘信息进行增强。
频域中的锐化技术可以采用高通提升滤波法。
即让低频通过,而将高频提升,以达到增强图像中高频信息的目的,实现图像的锐化。
原图像IHPF D0=15IHPF D0=30IHPF D0=50附录程序1. >> A=imread('E:\龙猫\123.jpg'); >> y1=rgb2gray(A);>> B=imadjust(y1,[0.35 0.65],[]); >>figure(1)>> subplot(2,2,1);imshow(y1); >> title('增强前')>> subplot(2,2,2);imhist(y1);>> subplot(2,2,3);imshow(B);>> title('增强后')>> subplot(2,2,4);imhist(B);2. >> x=imread('d:\shu.jpg');>> y1=rgb2gray(x);>> subplot(1,2,1);>> imshow(y1)>> title('原图像');>> subplot(1,2,2);>> imhist(y1) %原图像直方图>> title('原图像直方图');>> y2=histeq(y1);>> figure(2)>> subplot(1,2,1);>> imshow(y2)>> title('均衡化后的图像');>> subplot(1,2,2);>> imhist(y2) %均衡化后的直方图>> title('均衡化后的直方图'); 3. I=imread('testpat1.png');J=double(I);%分别设置3种不同的滤波半径D1=15;D2=30;D3=50;%傅里叶变换并中心化Fuv=fftshift(fft2(J));[M,N]=size(Fuv);%确定傅里叶变换的原点xo=floor(M/2);yo=floor(N/2);%分别求IHPFfor i=1:Mfor j=1:ND=sqrt((i-xo)^2+(j-yo)^2);if(D>=D1)h1(i,j)=1;elseh1(i,j)=0;endif(D>=D2)h2(i,j)=1;elseh2(i,j)=0;endif(D>=D3)h3(i,j)=1;elseh3(i,j)=0;endendend%滤波矩阵点乘Guv1=h1.*Fuv;Guv2=h2.*Fuv;Guv3=h3.*Fuv;%傅里叶逆变换g1=ifftshift(Guv1);g1=uint8(real(ifft2(g1)));g2=ifftshift(Guv2);g2=uint8(real(ifft2(g2)));g3=ifftshift(Guv3);g3=uint8(real(ifft2(g3)));%分别显示各个图像subplot(2,2,1);imshow(I);title('原图像') subplot(2,2,2);imshow(g1);title('IHPF D0=15'); subplot(2,2,3);imshow(g2);title('IHPF D0=30'); subplot(2,2,4);imshow(g3);title('IHPF D0=50');。
【数字图像处理】灰度变换
【数字图像处理】灰度变换原⽂链接:作者:图像的空间域滤波,其对像素的处理都是基于像素的某⼀邻域进⾏的。
本⽂介绍的图像的灰度变换则不同,其对像素的计算仅仅依赖于当前像素和灰度变换函数。
灰度变换也被称为图像的点运算(只针对图像的某⼀像素点)是所有图像处理技术中最简单的技术,其变换形式如下:s=T(r)s=T(r)其中,T是灰度变换函数;r是变换前的灰度;s是变换后的像素。
图像灰度变换的有以下作⽤:改善图像的质量,使图像能够显⽰更多的细节,提⾼图像的对⽐度(对⽐度拉伸)有选择的突出图像感兴趣的特征或者抑制图像中不需要的特征可以有效的改变图像的直⽅图分布,使像素的分布更为均匀常见的灰度变换灰度变换函数描述了输⼊灰度值和输出灰度值之间变换关系,⼀旦灰度变换函数确定下来了,那么其输出的灰度值也就确定了。
可见灰度变换函数的性质就决定了灰度变换所能达到的效果。
⽤于图像灰度变换的函数主要有以下三种:线性函数(图像反转)对数函数:对数和反对数变换幂律函数:n次幂和n次开⽅变换上图给出了⼏种常见灰度变换函数的曲线图,根据这⼏种常见函数的曲线形状,可以知道这⼏种变换的所能达到的效果。
例如,对数变换和幂律变换都能实现图像灰度级的扩展/压缩,另外对数变换还有⼀个重要的性质,它能压缩图像灰度值变换较⼤的图像的动态范围(例如,傅⽴叶变换的频谱显⽰)。
线性变换令r为变换前的灰度,s为变换后的灰度,则线性变换的函数:s=a⋅r+bs=a⋅r+b其中,a为直线的斜率,b为在y轴的截距。
选择不同的a,b值会有不同的效果:a>1a>1,增加图像的对⽐度a<1a<1,减⼩图像的对⽐度a=1且b≠0a=1且b≠0,图像整体的灰度值上移或者下移,也就是图像整体变亮或者变暗,不会改变图像的对⽐度。
a<0且b=0a<0且b=0,图像的亮区域变暗,暗区域变亮a=1且b=0a=1且b=0,恒定变换,不变a=−1且b=255a=−1且b=255,图像反转。
数字图像处理灰度变换.
实验一1. 对一幅图像进行二值化处理 load trees; BW=im2bw(X,map,0.4; imshow(X,map; figure,imshow(BW;2. 将一幅索引色图转化成灰度图像 close all; clear all;load trees;I=ind2gray(X,map;imshow(X,map;figure,imshow(I3. 将一幅灰度图转化成索引色图像 close all; clear all;I=imread('moon.tif';X=grayslice(I,16;imshow(Ifigure,imshow(X,hot(164. 显示一彩色图像的三基色图像football=imread('football.jpg'; figure('Name','Football';imshow(football;figure('Name','Football color planes'; subplot(2,2,1;imshow(football; redfootball=football;redfootball(:,:,2:3=0;subplot(2,2,2;imshow(redfootball; greenfootball=football; greenfootball(:,:,1=0;greenfootball(:,:,3=0;subplot(2,2,3;imshow(greenfootball;bluefootball=football;bluefootball(:,:,1:2=0;subplot(2,2,4;imshow(bluefootball;实验五编写 lowpassfilter.m 和 highpassfilrer.m, 保存在 work 文件夹中%cutoff is the cutoff frequency of the filter 0 - 0.5 function f=highpassfilter(sze,cutoff,nif cutoff<0 | cutoff>0.5error('cutoff frequency must be between 0 and 0.5'; endif rem(n,1~=0 | n<1error('n must be an integer>=1';endS=size(sze;rows=S(1;cols=S(2;x=(ones(rows,1*[1:cols]-(fix(cols/2+1/cols;y=([1:rows]'*ones(1,cols-(fix(rows/2+1/rows;radius=sqrt(x.^2+y.^2;h1=1./(1.0+(radius./cutoff.^(2*n;h=ones(rows,cols-h1;plot3(x,y,h;title('Butterworth高通滤波器幅频响应 ';B=fftshift(fft2(sze;result=ifft2(B.*h;figure,imshow(abs(result,[];title('高通滤波后的图像 '(1I=imread('cameraman.tif';lowpassfilter(I,0.4,1;I=imread('cameraman.tif'; lowpassfilter(I,0.05,1; -0.50.5低通滤波后的图像(2I=imread('cameraman.tif'; highpassfilter(I,0.4,1; -0.50.5低通滤波后的图像I=imread('cameraman.tif'; highpassfilter(I,0.05,1; -0.50.5 Butterworth 高通滤波器幅频响应高通滤波后的图像2. 分别采用 Hamming 窗, Bartlett 窗, Hanning 窗和 Blackman 窗设计近似圆对称的带通滤波器,通频带为【 0.1,0.5】。
数字图像处理:图像的灰度变换(Matlab实现)
数字图像处理:图像的灰度变换(Matlab实现)(1)线性变换:通过建⽴灰度映射来调整源图像的灰度。
k>1增强图像的对⽐度;k=1调节图像亮度,通过改变d值达到调节亮度⽬的;0i = imread('theatre.jpg');i = im2double(rgb2gray(i));[m,n]=size(i);%增加对⽐度Fa = 1.25; Fb = 0;O = Fa.*i + Fb/255;figure(1), subplot(221), imshow(O);title('Fa = 1.25, Fb = 0, contrast increasing');figure(2),subplot(221), [H,x]=imhist(O, 64);stem(x, (H/m/n), '.');title('Fa = 1.25, Fb = 0, contrast increasing');%减⼩对⽐度Fa =0.5; Fb = 0;O = Fa.*i + Fb/255;figure(1), subplot(222),imshow(O);title('Fa = 0.5, Fb = 0, contrast decreasing');figure(2), subplot(222), [H,x] = imhist(O, 64);stem(x, (H/m/n), '.');title('Fa = 0.5, Fb = 0, contrast decreasing');%线性亮度增加Fa = 0.5; Fb = 50;O = Fa.*i + Fb/255;figure(1), subplot(223), imshow(O);title('Fa = 0.5, Fb = 50, brightness control');figure(2), subplot(223), [H,x]=imhist(O,64);stem(x, (H/m/n), '.');title('Fa = 0.5, Fb = 50, brightness control');%反相显⽰Fa = -1; Fb = 255;O = Fa.*i + Fb/255;figure(1), subplot(224), imshow(O);title('Fa = -1, Fb = 255, reversal processing');figure(2), subplot(224),[H,x]=imhist(O, 64);stem(x, (H/m/n), '.');title('Fa = -1, Fb = 255, reversal processing');(2)对数变换:增强低灰度,减弱⾼灰度值。
数字的图像处理某实验报告材料(图像灰度变换处理)
数字图像处理实验报告班级:姓名:学号:数字图像处理实验报告一.实验名称:图像灰度变换二.实验目的: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.35s = 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进行处理,打印处理后的新图像。
数字图像处理实验02图像灰度级修正
数字图像处理实验02图像灰度级修正一、数字图像处理实验实验二图像灰度级修正一、实验目的掌握常用的图像灰度级修正方法,即图象的灰度变换法和直方图均衡化法,加深对灰度直方图的理解。
观察图象的增强效果,对灰度级修正前后的图像加以比较。
二、实验内容1.编程实现图像的灰度变换。
改变图像输入、输出映射的灰度参数范围(拉伸和反比),观看图像处理结果。
2.修改可选参数gamma值,使其大于1、等于1和小于1,观看图像处理结果。
3.对图像直方图均衡化处理,显示均衡前后的直方图和图像。
三、实验原理灰度级修正是图像空间域的增强方法,它以图像的灰度映射变换为基础,直接对图像中的像素进行处理,主要是利用点运算来修改图像像素的灰度。
其变换函数通常可写作如下的简单形式:)(r T s=(2.1)其中,r表示图像f中相应点(x,y)的灰度,s表示图像g中相应点(x,y)的灰度。
1.灰度变换1)图像增强常用的三个基本灰度变换类型函数有:线性的(正比和反比)、对数的(对数和反对数变换)、幂次的(n次幂和n次方根变换)。
线性变换为最一般的函数。
假定原图像),(y x f的灰度范围为],[b a,希望变换后图像),(y x g的灰度范围扩展至],[d c,则线性变换可表示为公式(2.2)所示:图 1.2灰度范围的线性变换2)幂次变换用于图像获取、打印和显示的各种装置根据幂次规律进行响应。
幂次变换的基本形式为:γcr s=(2.3)其中s为变换后的图像灰度级,c和r为正常数。
当1==r c时,将简化为正比变换。
幂次等式中的指数是指伽马值。
用于修正幂次响应现象的过程称作伽马校正。
2.直方图均衡化直方图均衡是直方图修正技术中的一种常用的方法。
1)采用灰度频数直方图统计一幅数字图像在范围],0[G内总共有L个灰度级,其直方图定义为离散函数k k n r h=)((2.4)其中,k r是区间],0[G内的第k级亮度,k n是灰度级为k r 的图像中的像素数。
数字图像实验报告二图像的灰度变换与直方图均衡
实验二图像的灰度变换与直方图均衡一、实验目的1.理解图像灰度变换与直方图均衡的定义;2.掌握图像灰度变换与直方图均衡化的方法;3.学会利用matlab编程实现灰度变换和直方图均衡的方法。
二、实验内容1. 利用matlab语言直接编程实现图像的对比度调整;2. 利用matlab语言编程实现图像的反转;3. 利用matlab语言直接编程实现图像的二值化;4. 利用matlab语言直接编程实现图像的直方图均衡化处理。
三、实验步骤(一)利用matlab语言直接编程实现图像的对比度调整实验代码如下:A=imread('E:\实验报告\数字图像处理实验报告\数字图像实验报告二通信五班韩奇20110803520\lena.jpg');I=double(A);J=I*0.5+40;A1=uint8(J);figure(1);subplot(1,2,1),imshow(A);subplot(1,2,2),imshow(A1);J=I*1+40;A1=uint8(J);figure(2);subplot(1,2,1),imshow(A);subplot(1,2,2),imshow(A1);J=I*3+40;A1=uint8(J);figure(3);subplot(1,2,1),imshow(A);subplot(1,2,2),imshow(A1);J=exp(I);A1=uint8(J);figure(4);subplot(1,2,1),imshow(A);subplot(1,2,2),imshow(A1); 生成图像如下:从图中可以看出,第一幅图相对于原图的对比度降低了,第二幅图相对于原图对比度提高了40个灰度级,第三幅图对比度提高太多,效果反而不好。
在三幅图中,第二幅图视觉效果最好,对比度明显又不至于太亮。
第四幅图是指数灰度变换。
(二)利用matlab语言编程实现图像的反转实验代码如下:A=imread('E:\实验报告\数字图像处理实验报告\数字图像实验报告二通信五班韩奇20110803520\lena.jpg');E=imadjust(A,[0.35 0.65],[1 0]);figure;imshow(E);生成图像如下:从图中可以看出,原来亮的部分经过反转之后变暗,暗的部分经过反转变亮。
实验二图像直方图及灰度变换
实验⼆图像直⽅图及灰度变换1、编写⼀个图像灰度直⽅图统计函数my_imhist,选择⼀幅图像利⽤my_imhist显⽰其直⽅图,将结果与MATLAB图像处理⼯具箱中提供的灰度直⽅图函数imhist的处理结果进⾏⽐较,并在同⼀窗⼝中显⽰出来。
function hist(a)[m,n]=size(a);x=1:256;y=zeros(1,256);for i=1:m*ny(a(i)+1)=y(a(i)+1)+1;endbar(x,y);orfunction hist(a)[m,n]=size(a);h=zeros(1,256); %⽣成⼀个1*256的0矩阵;for m=1:mfor n=1:nh(i(m,n)+1)=h(i(m,n)+1)+1; %统计每个像素的数值,由于i(m,n)代表像素数值有0数值,⽽MATLAB中矩阵下标从1开始,所以⽤i(m,n)+1代替下标;endendbar(h); %⽤bar画图函数实现;%主程序a=imread("D:\好图共赏\111.jpg")subplot(1,2,1);imhist(a);title('imhist函数');subplot(1,2,2);hist(a);title('⾃定义函数');2、利⽤以上编写的函数my_imhist或imhist,估算图像iris.tif中瞳孔的半径(以像素为单位)。
因为瞳孔是⿊⾊的,可以⼤致认为图像中所有⿊⾊的像素块都为瞳孔。
根据hist算法可以算出0-50之间的像素个数⼤约为14000个,然后圆形⾯积公式的R=(S/π)^(1/2),得R≈67。
但此结果并不精确,因为眉⽑也是⿊⾊的。
3、按照教材68页上的公式(4.1.6)(4.1.6) 编程实现图像的分段线性灰度变换.img=imread("L:\图像处理\实验⽂件\iris.tif")[m,n,k]=size(i);j=zeros(m,n,k);a=255/3;b=2*a;M=255;c=a+20;d=M-c;for i =1:m*n*kif (img(i)>=0 && img(i)<a)j(i)=(c/a)*img(i);elseif (img(i)>=a && img(i)<b)j(i)=(d-c)/(b-a)*(img(i)-a)+c;elsej(i)=(d-b)/(d-a)*(img(i)-b)+d;endendendfigure(1);subplot(2,2,1);imshow(img);title('原图像');subplot(2,2,2);imshow(uint8(j));title( '变换后' );subplot(2,2,3);imhist(img);subplot(2,2,4);imhist(uint8(j));4、编写⼀个灰度图像的直⽅图均衡化函数(不可使⽤库函数)。
数字图像灰度图像二值化实验报告matlab实现1
数字图像灰度图像二值化实验报告matlab实现数字图像处理实验报告实验二灰度图像的二值化处理学号姓名日期实验二灰度图像的二值化处理一、实验目的图像二值化是数字图像处理技术中的一项基本技术,二值化图像的显示与打印十分方便,存储与传输也非常容易,在目标识别、图像分析、文本增强、字符识别等领域得到广泛应用。
图像二值化是将灰度图像转化为只有黑白两类像素的图像,大多采用阈值化算法处理。
在不同的应用中,阈值的选取决定着图像特征信息的保留。
因此,图像二值化技术的关键在于如何选取阈值。
二、实验内容1、编程绘制数字图像的直方图。
2、灰度图像二值化处理。
三、实验要求1、自己选择灰度图像。
2、选择多种阈值分割算法,并比较和分析图像二值化处理的结果。
3、使用VC++编程序。
四、设计思想(阈值选取算法)灰度图像是指只含亮度信息,不含色彩信息的图像,将彩色图像转化成为灰度图像的过程称为图像的灰度化处理。
图像的二值化处理就是将图像上的点的灰度置为0或255,也就是使整个图像呈现出明显的黑白效果。
即将256个亮度等级的灰度图像通过适当的阀值选取而获得仍然可以反映图像整体和局部特征的二值化图像。
阀值分割选取算法有:典型的全局阀值算法的Otsu 算法、局部阀值方法中的Bersen算法、灰度拉伸法、直方图方法等等。
1.Otsu算法的设计思想:设阀值将图像分割成两组,一组灰度对应目标,另一组灰度对应背景,则这两组灰度值的类内方差最小,两组的类间方差最大。
对图像设阈值将图像分割成两组,一组灰度对应目标,另一组灰度对应背景,则这两组灰度值的类内方差最小,两组的类间方差最大。
2.Bersen算法的设计思想:把灰度阈值选取为随像素位置变化而变化的函数,它是一种动态选择阈值的自适应方法。
3.灰度拉伸算法设计思想:灰度拉伸又叫对比度拉伸,它是最基本的一种灰度变换,使用的是最简单的分段线性变换函数,它的主要思想是提高图像处理时灰度级的动态范围。
4.直方图算法的设计思想:把原始图像的灰度直方图从比较集中的某个灰度区间变成在全部灰度范围内的均匀分布。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
实验二图像灰度变换实验
一、实验目的
熟悉亮度变换函数的使用
熟悉灰度图像的直方图的表示;
掌握图像增强的基本方法:灰度变换、直方图均衡;
二、实验内容
灰度线性变换、灰度直方图、直方图均衡处理;
灰度变换是图像增强的一种重要手段,使图像对比度扩展,图像更加清晰,特征更加明显。
灰度级的直方图给出了一幅图像概貌的描述,通过修改灰度直方图来得到图像增强。
三、实验原理
1.函数imadjust
函数imadjust是对灰度图像进行亮度变换的基本命令,语法为:
g = imadjust(f, [low_in high_in], [low_out high_out], gamma)
将图像f中的亮度值(灰度值)映射到新图像g中,即将low_in至high_in 之间的值映射到low_out至high_out之间的值。
low_in以下的灰度值映射为
low_out,high_in以上的灰度值映射为high_out,函数imadjust的矩阵[ ]内参数均指定在0和1之间,[low_in high_in]和[low_out high_out]使用空矩阵[ ]会得到默认值[0 1]。
若high_out小于low_out,则输出图像会反转。
参数gamma指定了曲线(变换函数)的形状,若gamma小于1,则映射
被加权至更高(更亮)的输出值;若gamma大于1,则映射被加权至更低(更暗)的输出值。
若省略了函数的参量gamma,则gamma默认为1——即线性映射。
>>f = imread(‘filename’)
>>imshow(f)
>>g1 = imadjust(f, [0 1], [1 0]); %图像反转
>>figure, imshow(g1) %figure命令表示同时显示多个窗口
>>g2 = imadjust(f, [0.5 0.75], [0 1]);
%将0.5至0.75之间的灰度级扩展到范围0和1之间
>>figure, imshow(g2)
>>g3 = imadjust(f, [ ], [ ], 2) %使用gamma值
>>figure, imshow(g3)
2.直方图处理与函数绘图
图像的直方图定义为离散函数:
h(r k) = n k
绘制图像的直方图,函数imhist,语法为:
h = imhist(f, b)
f为输入图像,h为直方图h(r k),b是用于形成直方图的灰度级个数,若b 省略,则默认值为256。
函数numel(f)可给出图像f的象素个数,有了它可归一化直方图:
p = imhist(f, b) / numel(f)
>>imhist(f) %MTALAB默认显示的图像f的直方图
MATLAB中其它一些有代表性的绘制函数选项:
(1)用条形图绘制直方图
函数bar(horz, v, width),其中,v是一个行(列)向量,它包含将被绘制的点;
horz是一个与v有相同维数的向量,它包含水平标度值的增量;width是一个在0到1之间的数,表示竖条宽度,width值为1时,竖条较明显;当
width的值为0时,竖条是简单的垂直线;width的默认值是0.8。
在绘制条形图时,我们通常会将水平轴等分为几段,以便降低水平轴的分辨率。
下面的语句将生成一副条形图,其水平轴以10个灰度级为一组:
>>h = imhist(f)
>>h1 = h(1:10:256)
>>horz = 1:10:256
>>bar(horz, h1)
>>axis([0 255 0 15000])
%axis函数设置了水平轴和垂直轴的最大和最小值,语法为:
%axis([horzmin horzmax vertmin vertmax])
>>set(gca, ‘xtick’, 0:50:255)
>>set(gca, ‘ytick’, 0:2000:15000)
%参数gca表示“获得当前轴”(即最终显示的图形的轴),参数xtick
和%ytick按所示的间隔设置水平轴和的垂直轴的刻度。
%这两个语句中,坐标轴的取值范围和刻度线都是人工设定的。
使用函数% xlim(‘auto’)和ylim(‘auto’)可以自动设定坐标轴的取值范围和刻度线。
(2)用杆状图绘制直方图
函数stem(horz, v, ‘color_linestyle_marker’, ‘fill’),参量
color_linestyle_marker来自下表的三个值:颜色_线形_标记
例如,stem(v, ‘r--s’)生成一副杆状图,其线条与标记点都为红色,线条为虚线,标记点为方形。
若使用fill,且标记点为圆形、方形、菱形,则标记点的颜色会是color指定的颜色。
默认颜色是black黑色,默认线条为solid实线,默认标记点的形状是circle圆形。
>>h = imhist(f)
>>h1 = h(1:10:256)
>>horz = 1:10:256
>>stem(horz, h1, ‘fill’)
>>axis([0 255 0 15000])
>>set(gca, ‘xtick’, 0:50:255)
>>set(gca, ‘ytick’, 0:2000:15000)
(3)用曲线图绘制直方图
函数plot(X, Y, ‘color_linestyle_marker’)绘制以X、Y元素为横、纵坐标的曲线。
plot(X, ‘color_linestyle_marker’)绘制以向量元素X的下标为横坐标、元素值为
纵坐标的连续曲线。
plot的默认值为黑色无标记实线。
>>h = imhist(f)
>>plot(h) %使用默认值
>>axis([0 255 0 15000])
>>set(gca, ‘xtick’, 0:50:255)
>>set(gca, ‘ytick’, 0:2000:15000)
用以上四种方法绘制直方图得到的结果:
3.直方图均衡
直方图均衡化由函数histeq实现,语法为:
g = histeq(f, nlev)
式中f是输入图像,nlev是为输出图像指定的灰度级,其默认值为64,我
们要将nlev赋值为灰度级的最大可能数(通常为256)。
>>imshow(f)
>>figure, imhist(f)
>>ylim(‘auto’)
>>g = histeq(f, 256) %进行直方图均衡化处理图像
>>figure, imshow(g)
>>figure, imhist(g) %显示出图像g的直方图
>>ylim(‘auto’)
四、实验步骤与报告
1.对图像breast.bmp进行亮度变换函数imadjust实验,分别写出图像反转、
灰度变换、gamma取0.5和2的MATLAB程序,观察对比结果。
2.对图像breast.bmp进行直方图绘制,要求分别用上述4个绘图函数,写
出各自的MATLAB程序。
3.对图像pollen.bmp和lena.bmp进行图像增强——直方图均衡,对比增
强前后的图像,并给出增强前后的直方图,写出MATLAB程序。