实验三图像灰度修正技术和直方图均衡化
- 格式:doc
- 大小:195.00 KB
- 文档页数:6
颜色校正算法一、引言颜色校正算法是计算机图形学中的一个重要技术,旨在修正由于光照、摄像设备、显示器等因素引起的颜色偏差。
在计算机图像处理和计算机视觉领域,颜色校正算法被广泛应用于图像增强、图像重建、色彩匹配等方面。
本文将介绍几种常见的颜色校正算法及其原理。
二、直方图均衡化直方图均衡化是一种简单而有效的颜色校正算法。
它通过对图像的像素值分布进行调整,使图像的亮度分布更加均匀。
具体步骤如下:1. 计算图像的灰度直方图,统计每个像素值的频率。
2. 计算累积直方图,即将每个像素值的频率累加起来。
3. 根据累积直方图,计算每个像素值的映射关系。
4. 将原始图像的每个像素值根据映射关系进行替换,得到校正后的图像。
三、颜色空间转换颜色校正算法中常用的一种方法是进行颜色空间的转换。
最常见的颜色空间是RGB和HSV。
RGB颜色空间由红、绿、蓝三个分量组成,而HSV颜色空间由色相、饱和度和亮度三个分量组成。
通过将图像从RGB颜色空间转换到HSV颜色空间,可以更好地调整图像的色彩和亮度。
具体步骤如下:1. 将RGB图像转换为HSV图像。
2. 根据需要调整HSV图像的色相、饱和度和亮度分量。
3. 将调整后的HSV图像转换回RGB图像。
四、灰度世界假设灰度世界假设是一种基于图像平均亮度的颜色校正方法。
该方法假设图像中的物体颜色在整个图像中具有相同的平均亮度。
具体步骤如下:1. 计算图像的平均亮度,可以根据图像的RGB分量或HSV分量进行计算。
2. 根据计算得到的平均亮度,调整图像的RGB分量或HSV分量,使其平均亮度与整个图像的平均亮度一致。
五、颜色映射颜色映射是一种基于颜色直方图的颜色校正算法。
它将原始图像和目标图像的颜色直方图进行比较,通过调整原始图像的颜色分布来实现校正。
具体步骤如下:1. 计算原始图像和目标图像的颜色直方图,并进行归一化处理。
2. 计算原始图像和目标图像的累积直方图。
3. 根据累积直方图,计算每个像素值的映射关系。
简述直方图均衡化的基本原理。
直方图均衡化是一种对图像进行处理的技术,它可以改变图像的明暗效果,增强图像的对比度。
它是一种把图像的灰度分布改变的形式,一种以灰度调整为基础的图像处理技术,也可以称为“灰度变换”。
直方图均衡化的基本原理是利用直方图解析处理图像中的灰度值,使图像变得更加标准化。
它会把图像的灰度分布从原有的偏高或偏低的值,归一化为一个新的更平均的灰度范围,从而提高图像的对比度。
直方图均衡化的基本步骤是:首先,利用灰度直方图,计算图像中每一个灰度值出现的次数,把灰度值表示为概率函数。
然后,根据概率函数计算每一个灰度值对应的累计概率分布函数,对累计概率分布函数进行处理,把每一个灰度值映射到一个新的灰度值上,生成一张新的灰度图像。
直方图均衡化的一个关键应用就是它可以有效地处理图像的曝光不均的问题,例如,当一张图片带有曝光过度的区域时,直方图均衡化可以调整灰度分布,使这些区域亮度变得更均匀,从而改善图像的质量。
另外,直方图均衡化可以有效改善彩色图像的色彩细节,因为在调整灰度分布的同时,也可以调整图像的亮度、饱和度和色调等方面的参数,即使是差的图片也可以令彩色图像看起来更加自然和活力。
尽管直方图均衡化有许多好处,但也有一些不足之处。
首先,它的处理效果有限,因为它无法真正解决图像中特定信号的可操作性问题;其次,它只能用于灰度图像,对于彩色图像,效果不是很好;最后,由于它会增强图像的对比度,所以会使图像中的噪声变得更加明显,会降低图像的质量。
由此可见,直方图均衡化能够改善图像的质量,同时它也有一些局限性。
在实际应用中,我们可以根据实际需要,结合多种图像处理技术,比如图像的缩放、裁剪、色彩校正,利用直方图均衡化的优势,达到更好的处理效果。
图像处理中的直方图均衡化技术研究随着数字图像技术的不断发展,图像处理成为了现代科学技术中的一项重要技术。
而图像处理中的直方图均衡化技术是在数字图像处理技术中最基本的一个技术。
1. 直方图的理解图像的亮度是指图像中像素点的明亮度,即黑白灰色调的色度。
直方图则是将一个灰度级别的图像的像素点分为一个个亮度级别,然后计算每个亮度级别内像素点的数量。
每个亮度级别内的像素点数量就是这个图像的亮度分布状态。
2. 直方图均衡化技术的原理直方图均衡化就是将直方图的亮度分布向均匀分布的状态转化。
通过将原图像的灰度变换到一定的亮度范围内,使得直方图分配均匀,从而增强亮度对比度。
直方图均衡化是通过非线性函数完成的,使得灰度值的取值范围从原来的0 – 255变成了均衡化后的亮度范围,即新的0 – 255。
这样做就是为了提高灰度对比度,并且使得图像整体亮度看起来更加自然。
3. 直方图均衡化技术的应用直方图均衡化技术在图像处理中被广泛使用。
例如,在医学影像学中,可以使用直方图均衡化来增强图像中的对比度以便更好地识别病变;在遥感技术中,可以通过直方图均衡化技术来提高图像中相似物体的识别率;在数字图像处理中,可以使用直方图均衡化来增强图像的视觉效果,使图像更具有艺术效果。
4. 直方图均衡化技术的实现在数字图像处理技术中,实现直方图均衡化的方法有多种,其中最简单的方法是使用电脑的图像处理软件。
对于那些具备编程能力的人,可以使用Python等编程语言来实现直方图均衡化。
Python语言中,OpenCV是常用的图像处理库,它提供了许多图像处理算法和工具,其中就包括了直方图均衡化算法。
5. 直方图均衡化技术的局限性虽然直方图均衡化技术可以有效地提高图像的对比度和视觉效果,但是它也有一些局限性。
直方图均衡化往往会放大图像中的噪点,使得图像中的背景噪音扰动增加,从而影响图像的质量。
此外,直方图均衡化还存在一些应用限制,比如处理彩色图像的效果不如处理灰度图像的效果好,这就需要更进一步的改进方法。
目录实验一:数字图像的基本处理操作 (4):实验目的 (4):实验任务和要求 (4):实验步骤和结果 (5):结果分析 (8)实验二:图像的灰度变换和直方图变换 (9):实验目的 (9):实验任务和要求 (9):实验步骤和结果 (9):结果分析 (13)实验三:图像的平滑处理 (14):实验目的 (14):实验任务和要求 (14):实验步骤和结果 (14):结果分析 (18)实验四:图像的锐化处理 (19):实验目的 (19):实验任务和要求 (19):实验步骤和结果 (19):结果分析 (21)实验一:数字图像的基本处理操作:实验目的1、熟悉并掌握MATLAB、PHOTOSHOP等工具的使用;2、实现图像的读取、显示、代数运算和简单变换。
3、熟悉及掌握图像的傅里叶变换原理及性质,实现图像的傅里叶变换。
:实验任务和要求1.读入一幅RGB图像,变换为灰度图像和二值图像,并在同一个窗口内分成三个子窗口来分别显示RGB图像和灰度图像,注上文字标题。
2.对两幅不同图像执行加、减、乘、除操作,在同一个窗口内分成五个子窗口来分别显示,注上文字标题。
3.对一幅图像进行平移,显示原始图像与处理后图像,分别对其进行傅里叶变换,显示变换后结果,分析原图的傅里叶谱与平移后傅里叶频谱的对应关系。
4.对一幅图像进行旋转,显示原始图像与处理后图像,分别对其进行傅里叶变换,显示变换后结果,分析原图的傅里叶谱与旋转后傅里叶频谱的对应关系。
:实验步骤和结果1.对实验任务1的实现代码如下:a=imread('d:\');i=rgb2gray(a);I=im2bw(a,;subplot(1,3,1);imshow(a);title('原图像');subplot(1,3,2);imshow(i);title('灰度图像');subplot(1,3,3);imshow(I);title('二值图像');subplot(1,3,1);imshow(a);title('原图像');结果如图所示:图原图及其灰度图像,二值图像2.对实验任务2的实现代码如下:a=imread('d:\');A=imresize(a,[800 800]);b=imread('d:\');B=imresize(b,[800 800]);Z1=imadd(A,B);Z2=imsubtract(A,B);Z3=immultiply(A,B);Z4=imdivide(A,B);subplot(3,2,1);imshow(A);title('原图像 A'); subplot(3,2,2);imshow(B);title('原图像 B'); subplot(3,2,3);imshow(Z1);title('加法图像'); subplot(3,2,4);imshow(Z2);title('减法图像'); subplot(3,2,5);imshow(Z3);title('乘法图像'); subplot(3,2,6);imshow(Z2);title('除法图像');结果如图所示:3.对实验任务3的实现代码如下:s=imread('d:\');i=rgb2gray(s);i=double(i);j=fft2(i);k=fftshift(j); %直流分量移到频谱中心I=log(abs(k)); %对数变换m=fftshift(j); %直流分量移到频谱中心RR=real(m); %取傅里叶变换的实部II=imag(m); %取傅里叶变换的虚部A=sqrt(RR.^2+II.^2);A=(A-min(min(A)))/(max(max(A)))*255;b=circshift(s,[800 450]);b=rgb2gray(b);b=double(b);c=fft2(b);e=fftshift(c);I=log(abs(e));f=fftshift(c);WW=real(f);ZZ=imag(f);B=sqrt(WW.^2+ZZ.^2);B=(B-min(min(B)))/(max(max(B)))*255;subplot(2,2,1);imshow(s);title('原图像');subplot(2,2,2);imshow(uint8(b));title('平移图像');subplot(2,2,3);imshow(A);title('离散傅里叶变换频谱');subplot(2,2,4);imshow(B);title('平移图像离散傅里叶变换频谱');结果如图所示:4.对实验任务4的实现代码如下:s=imread('d:\');i=rgb2gray(s);i=double(i);j=fft2(i);k=fftshift(j);I=log(abs(k));m=fftshift(j);RR=real(m);II=imag(m);A=sqrt(RR.^2+II.^2);A=(A-min(min(A)))/(max(max(A)))*255;b=imrotate(s,-90);b=rgb2gray(b);b=double(b);c=fft2(b);e=fftshift(c);I=log(abs(e));f=fftshift(c);WW=real(f);ZZ=imag(f);B=sqrt(WW.^2+ZZ.^2);B=(B-min(min(B)))/(max(max(B)))*255;subplot(2,2,1);imshow(s);title('原图像');subplot(2,2,2);imshow(uint8(b));title('平移图像');subplot(2,2,3);imshow(A);title('离散傅里叶频谱');subplot(2,2,4);imshow(B);title('平移图像离散傅里叶频谱');结果如图所示::结果分析对MATLAB软件的操作开始时不太熟悉,许多语法和函数都不会使用,写出程序后,调试运行,最开始无法显示图像,检查原因,是有些标点符号没有在英文状态下输入和一些其他的细节,学会了imread(),imshow(),rgb2gray()等函数。
重庆交通大学测量与空间信息处理实验报告实验课程:遥感原理及应用实验名称:直方图修正法班级:姓名:学号:实验日期:2012 年11 月17 日实验原理一.直方图均衡化直方图均衡算法是图象增强空域法中的最常用、最重要的算法之一。
目前较常用的增强方法有全局直方图均衡化、局部直方图均衡化两大类。
全局直方图均衡化是将原图像的直方图通过变换函数变为均匀的直方图, 然后按均匀直方图修正原图像, 从而获得一幅灰度分布均匀的新图像。
它以概率理论作基础, 运用灰度点运算来实现直方图的变换, 从而达到图象增强的目的。
它的变换函数取决于图像灰度直方图的累积分布函数。
概括的说, 就是把一已知灰度概率分布的图像, 经过一种变换, 使之演变成一幅具有均匀概率分布的新图像。
当图像的直方图为一均匀分布时,图像的信息熵最大,此时图像包含的信息量最大,图像看起来就显得清晰。
下面先讨论连续变化图像的均衡化问题。
设r 、s 分别表示原图像和增强后图像的灰度。
假设r 被归一化到区间[0,1], 且r =0 表示黑色及 r = 1表示白色。
当r 、s 在[0,1] 之间时,表示像素灰度在黑白之间变化。
灰度变换函数为s=T(r) 0≤r≤1 (1)它满足以下两个条件:(1) T(r)在区间0≤r≤1中为单值且单调递增;(2) 当0≤r≤1时, 0 ≤T(r)≤1;条件(1)中要求T(r)为单值是为了保证反变换存在, 单调条件保证原图各灰度级在变换后仍保持从黑到白( 或从白到黑) 的排列次序;条件(2)保证变换前后灰度值动态范围的一致性。
图1 给出了满足这两个条件的一个变换函数的例子, 由s 到r 的反变换可以表示为:= 0≤s≤1 (2)r-),(1sT即使 T(r)满足条件(1)和(2), 相应的函数)(1sT-也可能不为单值。
一幅图像的灰度级可被视为区间[0,1] 的随机变量。
令)(r p r 和)(s p s 分别代表随机变量 r 和s 的概率密度函数。
一、实验名称:直方图修正二、实验目的1.对影像进行直方图规定化和均衡化2.利用另外一幅影像进行直方图匹配3.利用直方图统计功能对结果进行分析三、实验内容1.对两幅卫星遥感影像进行规定化并统计分析2.对一幅卫星遥感影像进行均衡化并统计分析四、实验所用的仪器设备计算机和ENVI软件在不同时刻同地的卫星遥感影像2幅五、实验原理1.直方图规定化:是使原图像灰度直方图变成规定形状的直方图而对原始图像作修正的增强方法。
作用:对于在不同时间获取的同一地区或者邻接地区的图像,或者是由于太阳高度角或大气的影响引起差异的图像很有用,特别是对图像镶嵌和变化检测。
2.直方图均衡化:又称直方图平坦化,是将一已知灰度概率密度分布的影响,经过某种变换变成一幅具有均匀灰度概率密度分布的新影像,其结果是是扩大了像元取值得动态范围。
效果:(1)均衡后每个灰度级的像元频率近似相等。
(2)频率少的灰度级被合并,频率数高的灰度级被保留,可以增强影像上大面积地物与周围地物的反差。
六、实验步骤1.直方图规定化与统计:同时打开两幅遥感影像,影像显示号分别为Display#1,Display#2.规划化前影像——Display#2规划化前影像——Display#11)在Display#2的主影像窗口选择Enhance/HistogramMatching,出现HistogramMatchingInputparameter对化框。
2)在“MatchTo”列表中,选择匹配的直方图的影像显示号Display#1。
3)在InputHistogram/Image/OK得到直方图匹配后的结果。
4)在“Flie/SaveImageAs/Imagefile”中得到对话框“OutputDisplaytoimageFile”选择保存所在文件下,保存为”guihua”。
在“BasicTools/statistics/ComputerStatistics/ComputerStatisticsInputFile”,选择所要分析统计的图像文件.例如guihua/OK/BasicStats/Histograms/OK按Display#1的影像进行匹配后的Display#2即guihua规划化前影像——Display#1 在StatisticsResults:guihua/SelectPlot/Histogram:AllBands并对三幅图进行分析Guihua直方统计图Display#2直方统计图Display#1直方统计图结果分析:[1].由上显示图—1为规划化后的图,图—2,3为规划化前的图,三幅图每个都有3个波段,图—2,3在灰度值0—255之间变化,图—1在0-210之间变化,图—1,2在灰度值80—170变化较集中。
直方图均衡化原理
直方图均衡化是一种图像处理技术,目的是提高图像对比度并增强细节。
其原理是通过重新分配图像的灰度级,使得原始图像的像素值更均匀地分布在亮度范围内。
在直方图均衡化过程中,首先计算原始图像的灰度直方图。
灰度直方图是一个统计图,用来表示不同灰度级在图像中出现的频率。
然后,根据灰度直方图的统计结果,通过累积函数计算每个灰度级的累积频率。
累积函数将原始图像的像素值映射到新的像素值范围上。
在最后一步,通过将原始图像的每个像素值映射到新的像素值范围上,完成图像的均衡化。
通过重新映射,灰度级在整个亮度范围内得到了平均分布,从而增加了对比度,并提高了图像的细节。
直方图均衡化的优点是简单易实现,并且在许多图像处理任务中都能取得良好的效果。
然而,直方图均衡化也有一些限制。
例如,在有限的灰度级范围内,图像可能仍然存在过多的低对比度区域。
此外,该方法也可能导致图像噪点的增加。
因此,在实际应用中,可根据具体情况选择合适的图像增强方法。
图像直⽅图的均衡化处理图的均衡化图像直⽅图的均衡化处理⼀,技术要求1.1,利⽤matlab提供的函数处理 (2)1.2,利⽤matlab⾃⾏编辑代码处理 (3)⼆,基本原理 (3)2.1,直⽅图的均衡化 (3)2.2,直⽅图的标准化 (3)三,建⽴模型描述 ......................................................................... 3~43.1,利⽤matlab提供的函数处理 (4)3.2,利⽤matlab⾃⾏编辑代码 (4)四,源程序代码 ............................................................................. 5~64.1,绘制图像直⽅图的代码 (5)4.2,绘制图像均衡化后直⽅图的代码 (5)4.3,显⽰均衡化后图像的代码 (6)五,调试过程及结论 ..................................................................... 6~85.1,在编辑窗⼝键⼊绘制直⽅图的源代码得到的输出结果为图2 (6)5.2,利⽤matlab函数绘制的图像直⽅图标准化的输出结果如图3..75.3,直⽅图均衡化输出结果如图4所⽰。
(8)六,⼼得体会 (9)七,参考⽂献 (9)图像直⽅图的均衡化处理⼀,技术要求1.1,利⽤matlab提供的函数处理利⽤matlab提供的函数画出⼀幅图像的直⽅图,对其进⾏均衡化和标准化处理,并⽐较均衡化(标准化)后图像和原图像的区别。
1.2,利⽤matlab⾃⾏编辑代码处理利⽤matlab⾃⾏编辑代码,实现⼀幅图像的直⽅图显⽰和均衡化的处理,同样⽐较处理前后两幅图像的区别,了解图像均衡化的效果和实际运⽤。
⼆,基本原理直⽅图是多种空域处理技术的基础。
它能有效的⽤于图像增强。
实验三 图像灰度修正技术和直方图均衡化
一
、实验目的
1、掌握图像灰度修正技术的原理和实现方法;
2、掌握图像直方图均衡化处理的方法。
二
、实验原理及内容
图像增强的目的是,对一幅给定的图像,突出一些有用的信息,抑制一些无用的信息,
提高图像的使用价值。
常用的图像增强方法有:灰度修正法、平滑、几何校正、图像锐化、频域增强、维纳滤
波、卡尔曼滤波等。 Matlab图像处理工具箱中的函数imadjust实现上述对比度调整算法。
函数实现:
J=imadjust(I,[low high],[bottom top],gamma) Matlab函数实现:
(1)求图像的灰度直方图
Imhist ( I,n )
(2)求灰度的等值图
Imcontour ( I,n )
(3)直方图均衡化
J=histeq (I, hgram )
实验内容:
1、显示图像“bacteria.tif”的灰度直方图和灰度等值图;
2、对给定图像“pout.tif”进行灰度变换、增强对比度,显示增强前、后的图像以及它
们的灰度直方图;
3、对给定图像“pout.tif”进行直方图均衡处理,显示处理前、后的图像以及它们的灰
度直方图;
三、实验报告要求
1、给出求图像“bacteria.tif”的灰度直方图和灰度等值图的Matlab程序,并显示图像
的灰度直方图和灰度等值图的;
2、给出对图像“pout.tif”进行灰度变换、增强对比度的Matlab程序,显示增强前、后
的图像以及它们的灰度直方图;对结果进行分析。
3、给出对图像“pout.tif”进行直方图均衡处理的Matlab程序,显示处理前、后的图像
以及它们的灰度直方图;对结果进行分析。
四、实验程序及框图
1.实验1
实验框图
实验程序
clear all %清空工作空间
I=imread('bacteria.tif'); %读入图像
subplot(2,2,1);imshow(I);
xlabel('原图') %显示原图
subplot(1,2,2);imhist(I,128);
xlabel('灰度直方图') %显示灰度直方图
subplot(2,2,3);imcontour(I,8);
xlabel('灰度等值图') %显示灰度等值图
读入图像
开始
结束
显示所需图像
2.实验2
实验框图
开始
读入图像
对比度增强
显示所需图像
结束
实验程序
clear all; %清空工作空间
I=imread('pout.tif'); %读入图像
J=imadjust(I,[0.3 0.7],[ ]); %增强对比度
subplot(2,2,1);imshow(I);
xlabel('原图像'); %显示原图像
subplot(2,2,2);imhist(I);
xlabel('原图像直方图'); %显示原图像直方图
subplot(2,2,3);imshow(J);
xlabel('对比度增强后图像'); %显示对比度增强图像
subplot('2,2,4');imhist(J);
xlabel('增强图像直方图') %显示增强后图像直方图
3.实验3
实验框图
实验程序
clear all; %清空工作空间
I=imread('pout.tif'); %读入图像
J=histeq(I); %直方图均衡化
subplot(2,2,1),imshow(I);
xlabel('原图') %显示原图
subplot(2,2,2),imhist(I);
xlabel('原图灰度直方图') %显示原图灰度直方图
subplot(2,2,3),imshow(J);
xlabel('处理后图像') %显示处理后图像
subplot(2,2,4),imhist(J)
xlabel('处理后图像灰度直方图') %显示处理后图像直方图
开始
读入图像
直方图均衡化
显示所需图像
结束
五、思考题
1、为什么一般情况下对离散图像进行均衡化并不能产生完全平坦的直方图?
答:因为映射后的图像不能取到所有灰度级,
变换后的直方图会有某些灰度级空
缺,故不能产生完全平坦的直方图。