图像处理灰度变换实验

合集下载

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

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

实验一Matlab图像处理基础
一、实验目的
熟悉Matlab平台下的图像编程环境;
掌握基本的Matlab运算符应用方法;
掌握基本的主、子函数调用方法;
掌握基本的图像读、写等函数;
掌握Matlab帮助文档使用方法。

二、实验内容
1.观察matlab软件环境;
2.练习+,-,*,/,^,.+,.-,.*,./,.^ 等运算符号的使用方法;
3.编写主函数实现图像的读取、显示及写入;
4.编写子函数实现图像的翻转;
5.主函数调用子函数实现图像的翻转;
6.利用Matlab帮助文档查看相应函数的使用方法。

三、知识要点
1.Matlab支持的图像图形格式
TIFF, JEPG, GIF, BMP, PNG 等。

2.与图像处理相关的最基本函数
读:imread; 写:imwrite; 显示:imshow; 信息查看:imfinfo; 图像选装:imrotate 3.Matlab支持的数据类
double, unit8, int8, uint16, int16, uint32, int32, single, char (2 bytes per element), logical.
4.数据类及图像类型间的基本转换函数
数据类转换:B = data_class_name(A);
作业:
1.简述.*,./,.^的使用方法,与+,-,*,/,^的区别,用实例演示。

2.通过主、子函数实现图像的旋转。

图像增强技术—灰度变换及应用实例

图像增强技术—灰度变换及应用实例
• 2.1 线性灰度度变换
就是按照线性函数的映射关系对灰度进行变换,图 像取反、增加或者减小对比度、增加或者减小亮度都是 灰度线性变换的一种。
下图是用halcon做的图像取反的灰度变换。
原 图
灰 度 直



反Байду номын сангаас



化 后
后 的 灰







2.2 非线性灰度变换
非线性灰度变换就是构造一种非线性映射函数常见的变换有 :对数变换、指数变换等。比如说:对数变换主要就是低灰度区扩展, 高灰度区压缩;灰度变换除了线性变换,非线性变换,还有分段线 性变换:这个主要是为了突出感兴趣的部位。下图为以10为底的对 数变换图像。
乳腺原图
去除部分背景后的图
采用了分段线性灰度变换突出乳腺信息。第二个峰值为乳腺信息,选取 两个转折点(80,20)(150,240),把乳腺的灰度值范围扩大, 实现了突出兴趣部位信息需求。
4 总结
灰度变换主要就是把原像素的值做了一个重新分 配来提高对比度,灰度变换很重要的一部分就是参 数的选择,可以在原有的算法的基础上进行改进, 得到自己更加需要的图像。
图像增强技 术—灰度变换
1 灰度变换的简单介绍

灰度变换是图像处理中的一个基本最基本技术技术之一,它
进行的是点运算,就是直接对像素点的值进行运算。灰度变换也是
图像增强技术中一种非常基础直接的空间域图像处理方式,根据自
的需要对图像进行灰度变换增强,增加对比度、突出感兴趣的区域
都是可以的。
2 常见的灰度变换
原 图
灰 度 直


指 数

图像灰度变换实验报告

图像灰度变换实验报告

实验2a 图像的灰度变换一、实验目的:学会用Matlab软件对图像进行运算和灰度变换。

二、实验内容:用+、-、*、/、imabsdiff、imadd、imcomplment、imdivide、imlincomb、immultiply、imsubtract和imadjust等函数生成各类灰度变换图像。

三、实验相关知识1、代数运算两幅图像之间进行点对点的加、减、乘、除运算后得到输出图像。

我们可以分别使用MA TLAB的基本算术符+、-、*、/来执行图像的算术操作,但是在此之前必须将图像转换为适合进行基本操作的双精度类型(命令函数为double())。

为了更方便对图像进行操作,图像处理工具箱中也包含了一个能够实现所有非稀疏数值数据的算术操作的函数集合。

如下所示:imabsdiff:计算两幅图像的绝对差值imadd:两个图像的加法imcomplment:一个图像的补imdivide:两个图像的除法imlincomb:计算两幅图像的线性组合immultiply:两个图像的乘法imsubtract:两个图像的减法使用图像处理工具箱中的图像代数运算函数无需再进行数据类型间的转换,这些函数能够接受uint8和uint16数据,并返回相同格式的图像结果。

代数运算的结果很容易超出数据类型允许的范围。

图像的代数运算函数使用以下截取规则使运算结果符合数据范围的要求:超出数据范围的整型数据将被截取为数据范围的极值,分数结果将被四舍五入。

2、灰度变换点运算也称为灰度变换,是一种通过对图像中的每个像素值进行运算,从而改善图像显示效果的操作。

对于特定变换函数f的灰度变换,用户可以利用MATLAB强大的矩阵运算能力,对图像数据矩阵调用各种MATLAB计算函数进行处理。

需要注意的是由于MATLAB不支持uint8类型数据的矩阵运算,所以首先要将图像数据转换为双精度类型,计算完成后再将其转换为uint8类型(命令为uint8( ))。

3.图像增强—灰度变换 - 数字图像处理实验报告

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教师签名:年 月 日。

数字图像处理 实验 灰度变换

数字图像处理 实验 灰度变换
非线性拉伸不是对图像的整个灰度范围进行扩展而是有选择地对某一灰度值范围进行扩展其他范围的灰度值则有可能被压缩
XXXXXXX
实验名称图像灰度变换
实验时间年月日
专业姓名学号
预习操作座位号
教师签名总评
一、实验目的:
1.深入理解图像灰度变换的基本原理。
2.学习编程实现图像灰度变换,并分析各种算法的效果。
二、实验原理:
现行拉伸:
void CHangView::OnXxls()
{
// TODO: Add your command handler code here
long w,h;
unsigned char *lpsrc;
lpsrc=m_Image;
w=m_DibHead->biWidth;
h=m_DibHead->biHeight;
对数变换:对数变换的一般表达式为:s = c log(1 + r),其中C是一个常数。低灰度区扩展,高灰度区压缩。图像加亮、减暗。非线性拉伸不是对图像的整个灰度范围进行扩展,而是有选择地对某一灰度值范围进行扩展,其他范围的灰度值则有可能被压缩。
三、实验内容:
与实验二建立菜单方式相同。
建立相应的类向导使之建立函数(步骤与实验二相同),函数代码如下:
}
分段变换:
void CHangView::OnFenduan()
{
// TODO: Add your command handler code here
long w,h;
unsigned char *lpsrc;
lpsrc=m_Image;
w=m_DibHead->biWidth;
h=m_DibHead->biHeight;

数字图像处理图像变换实验报告

数字图像处理图像变换实验报告

实验报告实验名称:图像处理姓名:刘强班级:电信1102学号:1404110128实验一图像变换实验——图像点运算、几何变换及正交变换一、实验条件PC机数字图像处理实验教学软件大量样图二、实验目的1、学习使用“数字图像处理实验教学软件系统”,能够进行图像处理方面的简单操作;2、熟悉图像点运算、几何变换及正交变换的基本原理,了解编程实现的具体步骤;3、观察图像的灰度直方图,明确直方图的作用与意义;4、观察图像点运算与几何变换的结果,比较不同参数条件下的变换效果;5、观察图像正交变换的结果,明确图像的空间频率分布情况。

三、实验原理1、图像灰度直方图、点运算与几何变换的基本原理及编程实现步骤图像灰度直方图就是数字图像处理中一个最简单、最有用的工具,它描述了一幅图像的灰度分布情况,为图像的相关处理操作提供了基本信息。

图像点运算就是一种简单而重要的处理技术,它能让用户改变图像数据占据的灰度范围。

点运算可以瞧作就是“从象素到象素”的复制操作,而这种复制操作就是通过灰度变换函数实现的。

如果输入图像为A(x,y),输出图像为B(x,y),则点运算可以表示为:B(x,y)=f[A(x,y)]其中f(x)被称为灰度变换(Gray Scale Transformation,GST)函数,它描述了输入灰度值与输出灰度值之间的转换关系。

一旦灰度变换函数确定,该点运算就完全确定下来了。

另外,点运算处理将改变图像的灰度直方图分布。

点运算又被称为对比度增强、对比度拉伸或灰度变换。

点运算一般包括灰度的线性变换、阈值变换、窗口变换、灰度拉伸与均衡等。

图像几何变换就是图像的一种基本变换,通常包括图像镜像变换、图像转置、图像平移、图像缩放与图像旋转等,其理论基础主要就是一些矩阵运算,详细原理可以参考有关书籍。

实验系统提供了图像灰度直方图、点运算与几何变换相关内容的文字说明,用户在操作过程中可以参考。

下面以图像点运算中的阈值变换为例给出编程实现的程序流程图,如下:2、图像正交变换的基本原理及编程实现步骤数字图像的处理方法主要有空域法与频域法,点运算与几何变换属于空域法。

实验报告---实验三图像灰度变换处理模板

实验报告---实验三图像灰度变换处理模板

计算机科学与工程学院天津理工大学计算机科学与工程学院实验报告2016 至2017 学年第二学期实验三图像灰度变换处理课程名称数字图像处理学号学生姓名卢洪利年级2014专业计算机科学与技术教学班号2实验地点主7-215实验时间2016年4月4日第1节至第2 节主讲教师杨淑莹实验成绩软件运行特色算法分析流程设计报告成绩总成绩实验(三)实验名称图像灰度变换处理软件环境OpenSUSE Leap 42.2Qt 5.6.1硬件环境PC实验目的掌握图像的灰度变换原理,编程实现图像的灰度变换功能。

实验内容(应包括实验题目、实验要求、实验任务等)1.实现灰度直方图。

要求:了解灰度直方图基本原理,实现灰度直方图。

说明:灰度直方图基本原理1 灰度直方图简介2 基本原理任务:(1)在左视图中打开一幅位图。

(2)制作一个【灰度直方图】菜单,将消息映射到右视图中,在右视图中实现灰度直方图。

2.实现灰度线性变换。

要求:了解灰度线性变换基本原理,实现灰度线性变换。

说明:灰度线性变换基本原理任务:(1)在左视图中打开一幅位图。

(2)制作一个【灰度线性变换】菜单,将消息映射到右视图中,在右视图中实现灰度线性变换。

3.实现灰度非线性变换。

要求:了解灰度非线性变换基本原理,实现灰度非线性变换。

说明:灰度非线性变换基本原理1灰度对数变换2灰度幂次变换3灰度指数变换任务:(1)在左视图中打开一幅位图。

(2)制作一个【灰度对数变换】菜单,将消息映射到右视图中,在右视图中实现灰度对数变换。

(3)制作一个【灰度幂次变换】菜单,将消息映射到右视图中,在右视图中实现灰度对数变换。

(4)制作一个【灰度指数变换】菜单,将消息映射到右视图中,在右视图中实现灰度指数变换。

4.实现阈值变换。

要求:了解阈值变换图基本原理,实现灰度阈值变换说明:灰度阈值变换基本原理任务:(1)在左视图中打开一幅位图。

(2)制作一个【阈值变换】菜单,将消息映射到右视图中,在右视图中实现阈值变换。

关于图形图像处理实训报告总结【九篇】

关于图形图像处理实训报告总结【九篇】

关于图形图像处理实训报告总结【九篇】实训报告总结:图形图像处理实训图形图像处理实训是计算机科学与技术专业的基础课程之一。

通过本次实训课程,我深入了解了图形图像处理的基本概念、方法和技术,并通过实际操作来提升了自己的实践能力。

下面是对本次实训的九篇报告总结:1. 实验一:图像读取与显示本次实验主要是学习如何读取和显示图像,以及使用Matplotlib库进行图像展示。

通过实验,我掌握了图像读取和显示的基本方法,并学会了基本的图像处理操作。

2. 实验二:图像的灰度变换实验二主要是学习图像的灰度变换,包括线性变换和非线性变换。

我学会了如何使用不同的灰度变换函数来调整图像的亮度和对比度,进一步提升图像的质量。

3. 实验三:图像的空间域滤波本次实验主要是学习图像的空间域滤波技术,包括均值滤波、中值滤波和高斯滤波等。

通过实验,我掌握了不同滤波方法的原理和实现方式,并学会了如何选择合适的滤波方法来降噪和模糊图像。

4. 实验四:图像的频域滤波实验四主要是学习图像的频域滤波技术,包括傅里叶变换和频域滤波等。

通过实验,我了解了傅里叶变换的原理和应用,并学会了如何使用频域滤波来实现图像的锐化和平滑。

5. 实验五:图像的形态学处理本次实验主要是学习图像的形态学处理技术,包括腐蚀、膨胀、开运算和闭运算等。

通过实验,我学会了如何使用形态学操作来改变图像的形状和结构,进一步改善图像的质量。

6. 实验六:图像的边缘检测实验六主要是学习图像的边缘检测技术,包括Sobel算子、Laplacian算子和Canny算子等。

通过实验,我了解了不同边缘检测方法的原理和应用,并学会了如何使用边缘检测来提取图像的轮廓和特征。

7. 实验七:图像的分割与聚类本次实验主要是学习图像的分割与聚类技术,包括阈值分割、区域生长和K均值聚类等。

通过实验,我掌握了不同分割与聚类方法的原理和应用,并学会了如何使用分割与聚类来识别和分析图像中的目标和区域。

8. 实验八:图像的特征提取与描述子实验八主要是学习图像的特征提取和描述子技术,包括尺度不变特征变换(SIFT)和方向梯度直方图(HOG)等。

数字图像处理实验报告:灰度变换与空间滤波(附带程序,不看后悔)

数字图像处理实验报告:灰度变换与空间滤波(附带程序,不看后悔)

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、理解并掌握灰度变换的基本原理和方法。

2、编程实现图像灰度变换。

3、分析不同的灰度变换方法对最终图像效果的影响。

[实验内容]1、灰度的线性变换;2、灰度的非线性变换;3、图像的二值化;4、图像的反色处理;[实验原理]图像的灰度变换(grayscaletransformation,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则由它确定的灰度变换称为灰度线性变换,简称线性变换。

实验一数字图像基本操作及灰度调整

实验一数字图像基本操作及灰度调整

实验一 数字图像基本操作及灰度调整一.实验目的1.掌握读、写图像的基本方法;2.掌握MATLAB 语言中图像数据与信息的读取方法;3.理解图像灰度变换处理在图像增强的作用;4.掌握绘制灰度直方图的方法,理解灰度直方图的灰度变换及均衡化的方法。

二.实验基本原理1. 灰度变换灰度变换是图像增强的一种重要手段,它常用于改变图象的灰度范围及分布,是图象数字化及图象显示的重要工具。

1) 图像反转灰度级范围为[0, L-1]的图像反转可由下式获得r L s --=12) 对数运算:有时原图的动态范围太大,超出某些显示设备的允许动态范围,如直接使用原图,则一部分细节可能丢失。

解决的方法是对原图进行灰度压缩,如对数变换:s = c log(1 + r ),c 为常数,r ≥ 03) 幂次变换:0,0,≥≥=γγc cr s4) 对比拉伸:在实际应用中,为了突出图像中感兴趣的研究对象,常常要求局部扩展拉伸某一范围的灰度值,或对不同范围的灰度值进行不同的拉伸处理,即分段线性拉伸:其对应的数学表达式为:2. 直方图均衡化灰度直方图的横坐标是灰度级,纵坐标是该灰度级出现的频度,它是图像最基本的统计特征。

依据定义,在离散形式下, 用r k 代表离散灰度级,用p r (r k )代表p r (r ),并且有下式成立:nn r P k k r =)( 1,,2,1,010-=≤≤l k r k 式中:n k 为图像中出现r k 级灰度的像素数,n 是图像像素总数,而n k /n 即为频数。

直方图均衡化处理是以累积分布函数变换法为基础的直方图修正法。

假定变换函数为ωωd p r T s r r)()(0⎰==(a) Lena 图像 (b) Lena 图像的直方图图1-1 Lena 图像及直方图当灰度级是离散值时,可用频数近似代替概率值,即1,,1,010)(-=≤≤=l k r n n r p k k k r式中:l 是灰度级的总数目,p r (r k )是取第k 级灰度值的概率,n k 是图像中出现第k 级灰度的次数,n 是图像中像素总数。

图像处理实验3-4

图像处理实验3-4

数字图像处理实验1. 直方图修正灰度变换是图像增强的一种重要手段,使图像对比度扩展,图像更加清晰,特征更加明显。

灰度级的直方图给出了一幅图像概貌的描述,通过修改灰度直方图来得到图像增强。

(1)计算出一幅灰度图像的直方图clearclose allI=imread(' rice.png');imhist(I)title('实验一(1)直方图');(2)对灰度图像进行简单的灰度线形变换,figuresubplot(2,2,1)imshow(I);title('试验2-灰度线性变换');subplot(2,2,2)histeq(I);(3)看其直方图的对应变化和图像对比度的变化原图像f(m,n) 的灰度范围[a,b] 线形变换为图像g(m,n),灰度范围[a’,b’] 公式:g(m,n)=a’+(b’-a’)* f(m,n) /(b-a)figuresubplot(2,2,1)imshow(I)J=imadjust(I,[0.3,0.7],[0,1],1);title(' 实验一(3)用g(m,n)=a’+(b’-a’)* f(m,n)/(b-a)进行变换');subplot(2,2,2)imshow(J)subplot(2,2,3)imshow(I)J=imadjust(I,[0.5 0.8],[0,1],1);subplot(2,2,4)imshow(J)(4) 图像二值化(选取一个域值,将图像变为黑白图像)figuresubplot(2,2,1)imshow(I)J=find(I<150);I(J)=0;J=find(I>=150);I(J)=255;title(' 实验一(4)图像二值化( 域值为150 )');subplot(2,2,2)imshow(I)clc;I=imread(‘rice.png');bw=im2bw(I,0.5);%选取阈值为0.5figure;imshow(bw) %显示二值图像2. 图像处理变换1.傅立叶变换熟悉其概念和原理,实现对一幅灰度图像的快速傅立叶变换,并求其变换后的系数分布. 2.离散余弦变换熟悉其概念和原理,实现对一幅灰度和彩色图像作的离散余弦变换,选择适当的DCT系数阈值对其进行DCT反变换.% 图像的FFT变换clc;I=imread('rice.png');subplot(1,2,1)imshow(I);title('原图');subplot(1,2,2)imhist(I);title('直方图');colorbar;J=fft2(I);figure;subplot(1,2,1)imshow(J);title('FFT变换结果');subplot(1,2,2)K=fftshift(J);imshow(K);title('零点平移');figure;imshow(log(abs(K)),[]),colormap(jet(64)),colorbar;title('系数分布图');% 图像的DCT变换RGB=imread('onion.png');figure;subplot(1,2,1)imshow(RGB);title('彩色原图');a=rgb2gray(RGB);subplot(1,2,2)imshow(a);title('灰度图');figure;b=dct2(a);imshow(log(abs(b)),[]),colormap(jet(64)),colorbar; title('DCT变换结果');figure;b(abs(b)<10)=0;% idctc=idct2(b)/255;imshow(c);title('IDCT变换结果');3. 小波变换实验内容:熟悉小波变换的概念和原理,熟悉matlab小波工具箱主要函数的使用.利用二维小波分析对一幅图像作2层小波分解,并在此基础上提取各层的低频信息实现图像的压缩.程序如下:clcclose allcleara=imread('deblur1.png ');subplot(1,2,1);imshow(a);title('原始图像');I=rgb2gray(a);subplot(1,2,2);imshow(I);title('原始图像的灰度图');% 进行二维小波变换[a,b] = wavedec2(I, 2, 'bior3.7');% 提取各层低频信息figure;c = appcoef2( a, b, 'bior3.7', 1 );subplot(1,2,1);imshow(c, []);title('一层小波变换结果');d = appcoef2( a, b, 'bior3.7', 2 );subplot(1,2,2);imshow(d, []);title('二层小波变换结果');4. 模板运算一、实验内容:(1)平滑:平滑的目的是模糊和消除噪声。

实验一 图像的灰度变换及直方图均衡化

实验一 图像的灰度变换及直方图均衡化

实验一:图像灰度变换及直方图均衡化实验一、实验目的:1. 掌握灰度直方图的概念及其计算方法;2. 掌握利用图像灰度变换实现对图像的增强处理;3. 掌握利用直方图直方图均衡化和直方图规定化实现对图像的增强处理;4. 熟悉MA TLAB中图像增强的相关函数。

二、实验设备:1. 硬件设备:计算机;2. 软件环境:Windows+Matlab编程与仿真环境;3. 其他设备:记录用的纸、笔,以及U盘等存储设备。

三、实验原理:灰度直方图(histogram)是灰度级的函数,它表示图像中具有每种灰度级的像素的个数,反映图像中每种灰度出现的频率。

一般来说,灰度直方图的横坐标是灰度级,纵坐标是该灰度级出现的概率,是图像的最基本的统计特性。

从概率论的观点来理解,灰度出现的频率可看作其出现的概率,这样直方图就对应于概率密度函数PDF(Probability Density Function),而概率分布函数就是直方图的累积和,即概率密度函数的积分。

1. 直方图均衡化直方图均衡化是通过灰度变换将一幅图像转换另一幅具有均衡直方图,即在每个灰度级上都具有相同的像素点数的过程。

设灰度变换s=T(r)为斜率有限的非减连续可微函数,它将输入图像A(x,y)转换为输出图像B(x,y),输入图像的直方图为H a(r),输出图像的直方图为H b(s),它们的关系如下:图1.1 输入图像和输出图像直方图之间的关系图直方图均衡化的基本思想是把原始图像的直方图变换成均匀分布的形式图像灰度值的动态范围,从而达到了增强图像整体对比度的效果。

具体方法为:①列出原始图像的灰度级Sk, k=0,1…L-1,其中L是灰度级的个数;②统计原始图像各灰度级的像素数目nk;③计算原始图像直方图各灰度级的频率数;④计算原始图像的累计直方图;⑤取整计算;⑥确定映射关系;⑦统计新直方图各个灰度级的像素数目nk;⑧计算新的直方图。

2. 灰度变换灰度变换是图像增强的另一种重要手段,它可使图像动态范围加大,使图像对比度扩展,图像更加清晰,特征更加明显。

matlab图像的灰度变换

matlab图像的灰度变换

实验二 图像的灰度‎变换一、实验目的1、 理解数字图‎像处理中点‎运算的基本‎作用;2、 掌握对比度‎调整与灰度‎直方图均衡‎化的方法。

二、实验原理1、对比度调整‎如果原图像‎f (x , y )的灰度范围‎是[m , M ],我们希望对‎图像的灰度‎范围进行线‎性调整,调整后的图‎像g (x , y )的灰度范围‎是[n , N ],那么下述变‎换:[]n m y x f mM n N y x g +---=),(),(就可以实现‎这一要求。

MA TLA ‎B 图像处理‎工具箱中提‎供的i ma ‎d j ust ‎函数,可以实现上‎述的线性变‎换对比度调‎整。

imadj ‎u st 函数‎的语法格式‎为:J = imadj ‎u st(I,[low_i ‎n high_‎i n], [low_o ‎u t high_‎o ut])J = imadj ‎u st(I, [low_i ‎n high_‎i n], [low_o ‎u t high_‎o ut])返回原图像‎I 经过直方‎图调整后的‎新图像J ,[low_i ‎n high_‎i n]为原图像中‎要变换的灰‎度范围,[low_o ‎u t high_‎o ut]指定了变换‎后的灰度范‎围,灰度范围可‎以用 [ ] 空矩阵表示‎默认范围,默认值为[0, 1]。

不使用im ‎adjus ‎t 函数,利用mat ‎l ab 语言‎直接编程也‎很容易实现‎灰度图像的‎对比度调整‎。

但运算的过‎程中应当注‎意以下问题‎,由于我们读‎出的图像数‎据一般是u ‎i nt8型‎,而在MAT ‎LAB 的矩‎阵运算中要‎求所有的运‎算变量为d ‎o uble ‎型(双精度型)。

因此读出的‎图像数据不‎能直接进行‎运算,必须将图像‎数据转换成‎双精度型数‎据。

2、直方图均衡‎化直方图均衡‎化的目的是‎将原始图像‎的直方图变‎为均衡分布‎的形式,即将一已知‎灰度概率密‎度分布的图‎像,经过某种变‎换变成一幅‎具有均匀灰‎度概率密度‎分布的新图‎像,从而改善图‎像的灰度层‎次。

图像处理灰度变换实验

图像处理灰度变换实验

一. 实验名称:空间图像增强(一)一.实验目的1.熟悉和掌握利用matlab工具进行数字图像的读、写、显示、像素处理等数字图像处理的基本步骤和流程。

2.熟练掌握各种空间域图像增强的基本原理及方法。

3.熟悉通过灰度变换方式进行图像增强的基本原理、方法和实现。

4.熟悉直方图均衡化的基本原理、方法和实现。

二.实验原理(一)数字图像的灰度变换灰度变换是图像增强的一种经典而有效的方法。

灰度变换的原理是将图像的每一个像素的灰度值通过一个函数,对应到另一个灰度值上去从而实现灰度的变换。

常见的灰度变换有线性灰度变换和非线性灰度变换,其中非线性灰度变换包括对数变换和幂律(伽马)变换等。

1、线性灰度变换1)当图像成像过程曝光不足或过度,或由于成像设备的非线性和图像记录设备动态围太窄等因素,都会产生对比度不足的弊病,使图像中的细节分辨不清,图像缺少层次。

这时,可将灰度围进行线性的扩展或压缩,这种处理过程被称为图像的线性灰度变换。

对灰度图像进行线性灰度变换能将输入图像的灰度值的动态围按线性关系公式拉伸扩展至指定围或整个动态围。

2)令原图像f(x,y)的灰度围为[a,b],线性变换后得到图像g(x,y),其灰度围为[c,d],则线性灰度变换公式可表示为a y x fb y x f a b y x fc c a y x f ab c d d y x g <≤≤>⎪⎩⎪⎨⎧+---=),(),(),(,,]),([,),( (1)由(1)式可知,对于介于原图像f (x,y )的最大和最小灰度值之间的灰度值,可通过线性变换公式,一一对应到灰度围[c,d]之间,其斜率为(d-c)/(b-a);对于小于原图像的最小灰度值或大于原图像的最大灰度值的灰度值,令其分别恒等于变换后的最小和最大灰度值。

变换示意图如图1所示。

图1 线性灰度变换示意图当斜率大于一时,变换后的灰度值围得到拉伸,图像对比度得到提高;当斜率小于一时,变换后的灰度值围被压缩,最小与最大灰度值的差变小,图像对比度降低;当斜率等于一时,相当于对图像不做变换。

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

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

数字图像处理实验报告班级:姓名:学号:数字图像处理实验报告一.实验名称:图像灰度变换二.实验目的: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进行处理,打印处理后的新图像。

【数字图像处理】灰度变换

【数字图像处理】灰度变换

【数字图像处理】灰度变换原⽂链接:作者:图像的空间域滤波,其对像素的处理都是基于像素的某⼀邻域进⾏的。

本⽂介绍的图像的灰度变换则不同,其对像素的计算仅仅依赖于当前像素和灰度变换函数。

灰度变换也被称为图像的点运算(只针对图像的某⼀像素点)是所有图像处理技术中最简单的技术,其变换形式如下: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,图像反转。

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

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

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('原始图像直⽅图') %在原图直⽅图上加标题运⾏结果如下:例⼦:读⼊图像‘rice.png’,在⼀个窗⼝中显⽰灰度级n=64,128和256的图像直⽅图。

数字图像处理基础 第3章 灰度级变换

数字图像处理基础 第3章 灰度级变换

(i 1, 2,..., m; j 1, 2,..., n)
Potoshop 演示对比度线性展宽(近似实现)
已知一幅图像F如下,其中灰度变化范围为0~7,
请对其进行线性对比度展宽处理。假设fa=3, fb=5,
ga=2, gb=6。求新图像G。 解: ga / fa 0.667 (1) (gb ga) /( fb fa) 2
g(i,j)=9/5×[f(i,j)-2]
34 56 24 57
27 074
79 005 0 9 0 7 0 C=26.2895
3.4.2 非线性动态范围调整
灰度映射关系通常采用对数运算。原因是人眼 对信号的处理是有一个近似对数算子的环节。
g(i, j) c lg(1 f (i, j))
当f (i, j) 0,则g(i, j)=0; 当f (i, j) 255,则g(i, j)=255;
L C I1/
• 因此,γ校正的关键是确定γ值。
3.1.4 γ校正方法
1. γ值的确定
1)测试靶图法
I C L
log I r log L C
• 即logI与logL成线性关系。通过测试靶图,即: 设置光图像,检测电信号图像,选取一组logI 与logL的数据,用于计算γ的值。
2)基于γ估计与校正的逐步调整法 通常CCD的γ值在0.4~0.8之间,γ值越小,
第三章 图像增强
• 图像增强的目的是为了改善画质,使图 像的显示效果更加清晰。本章中主要介 绍的内容包括:
• γ校正 • 对比度展宽 • 动态范围调整 • 直方图均衡化处理 • 伪彩色技术
3.1 图像的γ校正
3.1.1 对比度的概念
• 对比度:通俗地讲,就是亮暗的对比程度。 • 对比度大的图像通常层次感强,清晰度高。 • 对比度的计算公式如下:

医学图像灰度变换处理结果与分析

医学图像灰度变换处理结果与分析

医学图像灰度变换处理结果与分析1.所谓的图像求反是将原图像灰度值翻转,简单说来就是使黑变白,使白变黑,这样使图像变换了观察角度,某些病灶经过反变换而变得更加显而易见,使医生能够准确的对患者某些特殊症状进行诊断。

用MATLAB实现图像求反的程序如下:I=imread('guge.jpg');f=rgb2gray(I);imshow(f)f=double(f);f=256-1-f;f=uint8(f)figureimshow(f)其执行结果如下图所示:2.增强图像的对比度实际是增强原图的各部分的反差,也就是说增强图像中感兴趣的灰度区域,相对于抑制那些不感兴趣的灰度区域。

用分段线性法将需要的图像细节灰度级拉伸,增强对比度,将不需要的图像细节灰度级压缩。

典型的增强对比度的变换函数数学表达式如下:用MATLAB实现线性灰度变换的图像增强的程序如下:I=imread('guge.jpg');f=rgb2gray(I);imshow(f)f=double(f);[M,N]=size(f);for i=1:Mfor j=1:Nif f(i,j)<=30f(i,j)=f(i,j);elseif f(i,j)<=150f(i,j)=(200-30)/(150-30)*(f(i,j)-30)+30;elsef(i,j)=(255-200)/(255-150)*(f(i,j)-150)+200;endendendfigure(2);imshow(uint8(f));其执行的结果如下图所示:此程序将其小于30的灰度值不变,将30到150的灰度值拉伸到30到200,同时压缩150到255的灰度值到200与255之间。

该程序增强了图像对比度,因此可见对任一灰度区间进行扩展和压缩,可随意增强有用信息区域。

3.灰度变换中的对数变换,基于式t = Clog(1 +s),本论文中C=256/log(256)=32。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

一. 实验名称:空间图像增强(一)一.实验目的1.熟悉和掌握利用matlab工具进行数字图像的读、写、显示、像素处理等数字图像处理的基本步骤和流程。

2.熟练掌握各种空间域图像增强的基本原理及方法。

3.熟悉通过灰度变换方式进行图像增强的基本原理、方法和实现。

4.熟悉直方图均衡化的基本原理、方法和实现。

二.实验原理(一)数字图像的灰度变换灰度变换是图像增强的一种经典而有效的方法。

灰度变换的原理是将图像的每一个像素的灰度值通过一个函数,对应到另一个灰度值上去从而实现灰度的变换。

常见的灰度变换有线性灰度变换和非线性灰度变换,其中非线性灰度变换包括对数变换和幂律(伽马)变换等。

1、线性灰度变换1)当图像成像过程曝光不足或过度,或由于成像设备的非线性和图像记录设备动态范围太窄等因素,都会产生对比度不足的弊病,使图像中的细节分辨不清,图像缺少层次。

这时,可将灰度范围进行线性的扩展或压缩,这种处理过程被称为图像的线性灰度变换。

对灰度图像进行线性灰度变换能将输入图像的灰度值的动态范围按线性关系公式拉伸扩展至指定范围或整个动态范围。

2)令原图像f(x,y)的灰度范围为[a,b],线性变换后得到图像g(x,y),其灰度范围为[c,d],则线性灰度变换公式可表示为a y x fb y x f a b y x fc c a y x f a b cd 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。

则分段线性灰度变换公式为⎪⎪⎪⎩⎪⎪⎪⎨⎧≤≤+---≤≤+---≤≤+---=m m m r y x f r s r y x f r r s s r y x f r s r y x f r r s s r y x f r s r y x f r r s s y x g ),(,]),([),(,]),([),(,]),([),(222222111121210000101 (2) 调整公式中的各个参数,即可得到不同的变换效果4)在线性灰度变换中,有一种特殊的变换,叫做图像反色。

通过图像反色变换,每一个像素点的变换前后的灰度值之和为白色(255)。

图像反色的变换公式为),(1),(y x f L y x g --= (3)当L 取为256时,实现图像反转变色2、非线性灰度变换除了图像灰度的线性变换外,还有非线性灰度变换。

非线性灰度变换不是对图像的所有灰度值进行拉伸,一部分被拉伸,另一部分则会被压缩。

非线性灰度变换在整个灰度值范围内采用统一的变换函数。

比较常见的有对数变换和幂律(伽马)变换等。

1)对数变换设原图像为f (x,y ),变换后的图像为g (x,y ),对数变换的变换函数为)),(1log(),(y x f c y x g += (4)(4)式中,c 是一个比例因子,log 是求以e 为底的数值的对数,原图像灰度值加1的目的是保证对数变化对于任何灰度值都有意义。

c 取适当的值,可得到对数变换的函数图像如图2所示。

图2 对数变换函数曲线由图2可知,通过对数变换,对于较低的灰度值起到较大程度的拉伸作用,而对于较高的灰度值起到压缩作用,从而将整幅图像的灰度值均匀化。

2)幂律(伽马)变换伽马变换可通过调节幂指数参数来改变其变换特性,设f(x,y)和g(x,y)分别为变换前后的图像,γ为幂指数,c为比例系数,则伽马变换的公式如下γ)cfxxg=(5)y,,()(y对于c为正值的情况,当γ>1时,伽马变换将低灰度值压缩,高灰度值拉伸;当γ<1时,伽马变换将低灰度值拉伸,高灰度值压缩,类似对数变换;当γ=1时,等同于对原图像进行线性变换。

伽马变换的曲线图如图3所示图3 不同γ下的伽马变换曲线图(二)直方图处理1、直方图的两种定义直方图是反映一幅图像中的灰度级与出现这种灰度级的次数或概率之间的关系的统计图表。

直方图有两种定义,分别如下。

1)定义1:一幅灰度级范围在[0,L -1]的数组图像的直方图定义为以下离散函数:k k n r h =)( (6)其中r k 是第k 个灰度级,n k 是图像中灰度级为r k 的像素个数,k =0,1,2...L-1。

2)定义2:一幅灰度级范围[0,L -1]的数组图像的直方图定义为以下离散函数:nn r p k k =)( (7) 其中r k 和n k 的意义同定义1,n 是指图像的像素总数。

此处,直方图便是图像中不同灰度级像素出现的概率。

通过观察一幅图像的直方图可以判断这幅图像的对比度和清晰度,也可以掌握图像的明暗程度。

但是直方图只能反映灰度值出现的概率,并不能反映各个灰度值在空间的分布情况。

2、直方图的均衡化直方图的均衡化是将原图像的直方图通过变换函数修正为均匀的直方图,然后按照均衡后的直方图修正原图像。

图像均衡化后,理论上,图像的直方图完全平直,即各个灰度级具有近似相同的出现频率。

直方图均衡化的作用就是实现了灰度级的均匀分布,增加了图像的对比度,使得图像看起来更清晰。

直方图均衡化的原理和方法如下。

设r 和s 分别表示归一化了的原图像灰度和经直方图修正后的图像灰度。

在[0,1]区间内,对任意一个灰度级r ,可通过一种对应法则对应到灰度级s ,设这种对应法则为T ,则)(r T s = (8)为了使变换后的灰度仍保持从暗到亮的单一变化顺序,且变换范围与变换前保持一致,以避免整体变量或变暗,一般规定:①正变换,在0≤r ≤1中,T(r)为单调递增函数,且0≤T (r)≤1;②反变换,r =T -1(s),T -1(s)也为单调递增函数,即0≤s ≤1。

考虑到灰度变换不影响像素的位置分布且不增减像素数目,所以有⎰=rdr r p r T 0)()( (9) 而实际图像是有许多离散的像素点和离散的灰度级构成的,对于离散的情况,均衡化后的效果将受到一定限制,不一定绝对平整。

离散情况下的均衡化方法如下。

设一幅图像的像素总数为n ,分为L 个灰度级。

若n k 为第k 个灰度级出现的频数,则第k 个灰度级出现的概率为p (r k )=n k /n ,其中,0≤r k ≤1,k =0,1,2,...,L -1。

变换后的灰度为∑∑=====k j j k j j k k n n r p r T s 00)()( (10)可以看出,离散情况下的直方图均衡化是将连续的积分转化为离散的叠加求和,可近似得到直方图平直的效果。

三. 实验器材PC ,MATLAB 软件(各版本),若干幅图像四. 实验步骤(一)数字图像的灰度变换1、线性灰度变换1)在MATLAB中用imread函数读取原图像,将其赋值给某个矩阵,如I1,进而用imshow函数显示。

2)检测图像的通道数目,即检测矩阵的高度,若超过了1个通道,将矩阵灰度化,变为单通道的灰度图。

3)将矩阵中所有的8位整形元素转换为double型,便于计算的更精确,特别是进行除法运算的时候。

4)用max函数和min函数得到原图像中灰度的最大值和最小值。

5)预分配一个内存给矩阵I2,对矩阵中的每一个元素进行循环检测,并将每一个元素的灰度值带入线性灰度变换公式,即公式(1),其中,令d=250,c=10。

将每一个变换后的像素灰度存入矩阵I2的相应元素位置上。

6)将变换后的矩阵转换为8位整形,并将其显示出来,以另一个文件名的形式保存。

7)绘制变换前后两幅图像的灰度直方图,将其与相应的图像一起,用一张图展示出来。

8)绘制函数曲线。

具体实验的流程图如图4所示。

图4 线性灰度变换实验流程图2、非线性灰度变换1)在MATLAB中用imread函数读取原图像,将其赋值给某个矩阵,如I1,进而用imshow函数显示。

2)检测图像的通道数目,即检测矩阵的高度,若超过了1个通道,将矩阵灰度化,变为单通道的灰度图。

3)将矩阵中所有的8位整形元素转换为double型,便于计算的更精确,特别是进行求对数运算的时候。

5)预分配内存给矩阵I2,I3,用于存放对数变换和伽马变换后的图像灰度值。

4)对数变换:取比例系数c=5,对原图像的每一个像素进行循环检测,并将其灰度值代入公式(4)进行对数变换,将变换后的灰度值存在矩阵I2的相应元素位置上。

5)对图像进行显示,由于经过对数变换后,所有的灰度值均处于较低水平,直接显示将导致图像过暗不便观察。

所以,采用MATLAB内部的拉伸方式将图像显示,函数为imshow(I2,[])。

6)伽马变换:合理设置比例系数和指数,以免变换后的灰度值超过255。

取比例系数c=1/255,指数γ=2,对原图像的每一个像素进行循环检测,并将其灰度值代入公式(5)进行伽马变换,将变换后的灰度值存在矩阵I3的相应元素位置上。

7)对图像进行显示,也采用MATLAB内部的拉伸方式将图像显示,函数为imshow(I3,[])。

8)利用plot函数和hold on命令将对数变换和伽马变换的函数曲线绘制在同一幅坐标图上。

对数变换和伽马变换的实验流程图如图5所示。

图5 非线性灰度变换流程图说明:本实验将对数变换和幂律(伽马)变换均做了练习。

(二)直方图处理1)在MATLAB中用imread函数读取原图像,将其赋值给某个矩阵,如I1,进而用imshow函数显示。

2)检测图像的通道数目,即检测矩阵的高度,若超过了1个通道,将矩阵灰度化,变为单通道的灰度图。

3)统计矩阵的行列数。

4)利用统计带有某个灰度的像素的数目绘制直方图。

在MATLAB中,对灰度级0-255依次寻找,可用find函数找到带有相应灰度的像素的位置,再用length函数求出这些位置的数目,即像素的个数,结合bar函数或stem函数绘制原图像的灰度直方图;将各灰度的像素个数除以总像素数,得到第二种定义下的灰度直方图,即灰度出现概率,绘制。

相关文档
最新文档