主要内容

histeq

使用直方图均衡化增强对比度

描述

例子

J= histeq ()将灰度图像转换所以输出灰度图像的直方图J有64箱,基本持平。

J= histeq (,n)将灰度图像转换所以输出灰度图像的直方图Jn箱子大约是平的。的柱状图J是平n比的离散程度小得多

J= histeq (,hgram)将灰度图像转换所以输出灰度图像的直方图J长度(hgram)箱子大约直方图匹配的目标hgram

newcmap= histeq (X,地图)转换中的值colormap这样的灰色部分索引图像的直方图X大约是平的。转换后的colormap是newcmap

newcmap= histeq (X,地图,hgram)将colormap与索引相关的图片X这样的灰色部分索引图像的直方图(X,newcmap)大约直方图匹配的目标hgram。的histeq函数返回转换后的colormapnewcmap长度(hgram)必须是一样的吗大小(图1)

例子

(___,T)= histeq (___)还返回转换T映射的灰色组件输入灰度图像或colormap灰色组件输出的灰度图像或colormap。

例子

全部折叠

读一个图像到工作区中。

我= imread (“tire.tif”);

提高强度的对比使用直方图均衡化的图像。

J = histeq(我);

显示原始图像和调整图像。

imshowpair (I, J,“蒙太奇”)轴

图包含一个坐标轴对象。坐标轴对象包含一个类型的对象的形象。

显示原始图像的直方图。

图imhist(我64)

图包含2轴对象。坐标轴对象1包含一个类型的对象。坐标轴对象2包含对象类型的形象,线。

显示一个直方图的图像处理。

图imhist (J, 64)

图包含2轴对象。坐标轴对象1包含一个类型的对象。坐标轴对象2包含对象类型的形象,线。

加载3 d数据集。

负载mristack

执行直方图均衡化。

增强= histeq (mristack);

显示第一块数据为原始图像和增强对比度图像。

图次要情节(1、2、1)imshow (mristack(:,: 1)标题(片原始图像的次要情节(1、2、2)imshow(增强(:,:1))标题(“增强的图像切片”)

图包含2轴对象。坐标轴对象与标题1片原始图像包含一个类型的对象的形象。坐标轴对象与标题2片增强图像包含一个类型的对象的形象。

这个例子展示了如何绘制直方图均衡化的变换曲线。histeq可以返回一个1 -到- 256矢量显示,对于每一个可能的输入值,生成的输出值。(这个向量中的值在[0,1],无论输入图像的类)。你可以画出这些数据转换曲线。

读取图像到工作区中。

我= imread (“pout.tif”);

调整对比使用直方图均衡化,使用histeq函数。指定返回值灰度变换,T,它是一个矢量地图的灰度强度图像灰色的水平J

[J T] = histeq(我);

情节转换曲线。注意这条曲线反映了直方图在前面的图中,与输入值大多在0.3和0.6之间,在输出值均匀分布在0和1之间。

图绘制((0:255)/ 255 T);

图包含一个坐标轴对象。坐标轴对象包含一个类型的对象。

输入参数

全部折叠

灰度图像,指定为一个数值数组的维度。

数据类型:||int16|uint8|uint16

目标直方图,指定为一个数值向量。hgram等距的垃圾箱,在适当的强度值范围:

  • [0,1]类的图像

  • 为的图像类[0,255]uint8

  • 为的图像类[0,65535]uint16

  • 为图像的类(-32768、32767)int16

histeq自动扩展hgram总和(hgram) =元素个数(我)。的柱状图J更好的匹配hgram长度(hgram)比的离散程度小得多

数据类型:|

数量的离散灰色的水平,指定为一个正整数。

数据类型:|

索引图像,指定为一个数值数组的维度。中的值X一个索引到colormap吗地图

数据类型:||uint8|uint16

Colormap与索引相关的图片X指定为一个c3数字矩阵中的值区间[0,1]。每一行是一个三元素RGB值,指定了红色、绿色和蓝色的组件的单个colormap的颜色。

数据类型:

输出参数

全部折叠

转换后的灰度图像,返回数值相同大小的数组和类图像作为输入

灰度变换,作为一个数值向量返回。转换T地图图像中灰色的水平灰色的水平J

数据类型:

改变了colormap,指定为一个n3数字矩阵中的值区间[0,1]。每一行是一个三元素RGB值,指定了红色、绿色和蓝色的组件的单个colormap的颜色。

数据类型:

算法

当你提供一个目标直方图hgram,histeq选择灰度转换T最小化

| c 1 ( T ( k ) ) c 0 ( k ) | ,

c0输入图像的累积直方图吗,c1累积的总和吗hgram对于所有的强度k。这最小化受到这些约束:

  • T一定是单调

  • c1(T (a))不能过度c0(一)一半以上直方图之间的距离计算一个

histeq使用转换b=T(一个地图的灰色的水平X(或colormap)他们的新值。

如果你不指定hgram,然后histeq创建一个平面hgram,

hgram = 1 (1, n) * prod(大小(A)) / n;

然后应用前面的算法。

扩展功能

版本历史

之前介绍过的R2006a

全部展开