主要内容

histeq

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

描述

例子

J= histeq (变换灰度图像使直方图输出灰度图像J有64个箱子,几乎是平的。

J= histeq (n变换灰度图像使直方图输出灰度图像Jn箱子几乎是平的。直方图J更平坦的时候n比离散层的数量要小得多

J= histeq (hgram变换灰度图像使直方图输出灰度图像J长度(hgram)Bins近似地匹配目标柱状图hgram

newmap= histeq (X地图转换颜色图中的值,以便索引图像的灰色组件的直方图X近似是平的。转换后的色图为newmap

newmap= histeq (X地图hgram转换与索引图像相关联的颜色映射X因此,索引图像的灰色分量的直方图(Xnewmap)近似匹配目标直方图hgram.的histeq函数返回转换后的颜色映射newmap长度(hgram)一定和大小(图1)

例子

___T= histeq(___也会返回变换T将输入灰度图像或颜色映射的灰度分量映射到输出灰度图像或颜色映射的灰度分量。

例子

全部折叠

将图像读入工作区。

I = imread(“tire.tif”);

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

J = histeq(I);

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

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

图中包含一个轴对象。axis对象包含一个image类型的对象。

显示原始图像的直方图。

图imhist(我64)

图中包含2个轴对象。Axes对象1包含一个stem类型的对象。坐标轴对象2包含2个image、line类型的对象。

显示处理后图像的直方图。

图imhist (J, 64)

图中包含2个轴对象。Axes对象1包含一个stem类型的对象。坐标轴对象2包含2个image、line类型的对象。

加载3-D数据集。

负载mristack

执行直方图均衡化。

Enhanced = histeq(mristack);

显示原始图像和对比度增强图像的第一个数据片。

图subplot(1,2,1) imshow(mristack(:,:,1))“原始图像切片”) subplot(1,2,2) imshow(enhanced(:,:,1))“增强图像切片”

图中包含2个轴对象。标题为Slice of Original Image的Axes对象1包含一个Image类型的对象。带有标题Slice of Enhanced Image的Axes对象2包含一个Image类型的对象。

这个例子展示了如何绘制直方图均衡化的转换曲线。histeq可以返回一个1乘256的向量,显示每个可能的输入值的结果输出值。(无论输入图像的类别是什么,这个向量中的值都在[0,1]的范围内。)你可以画出这些数据来得到转换曲线。

将图像读入工作区。

I = imread(“pout.tif”);

调整对比度使用直方图均衡化,使用histeq函数。指定灰度变换返回值,T,它是一个在强度图像中映射灰度的矢量到灰色级别J

[J,T] = histeq(I);

画出变换曲线。注意这条曲线是如何反映前面图中的直方图的,输入值大多在0.3到0.6之间,而输出值则均匀地分布在0到1之间。

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

图中包含一个轴对象。axis对象包含一个line类型的对象。

输入参数

全部折叠

灰度图像,指定为任意维度的数值数组。

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

目标直方图,指定为数字向量。hgram具有等间距的箱子,强度值在适当的范围内:

  • 类的图像[0,1]

  • [0,255]类的图像uint8

  • [0, 65535]用于类的图像uint16

  • [-32768, 32767]用于类的图像int16

histeq自动扩展hgram总和(hgram) =元素个数(我).直方图J更好的匹配hgram长度(hgram)比离散层的数量要小得多

数据类型:|

离散灰度级数,指定为正整数。

数据类型:|

索引图像,指定为任意维度的数字数组。中的值X是色图的索引吗地图

数据类型:||uint8|uint16

与索引图像相关联的颜色映射X,指定为c-by-3数值矩阵,值范围为[0,1]。每一行都是一个三元素的RGB三元组,它指定了颜色图中单一颜色的红色、绿色和蓝色组件。

数据类型:

输出参数

全部折叠

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

灰度变换,作为数字向量返回。转换T在图像中映射灰度级别到灰色级别J

数据类型:

转换后的颜色映射,指定为n-by-3数值矩阵,值范围为[0,1]。每一行都是一个三元素的RGB三元组,它指定了颜色图中单一颜色的红色、绿色和蓝色组件。

数据类型:

算法

当你提供一个目标柱状图hgramhisteq选择灰度变换T最小化

| c 1 T k c 0 k |

c0是否是输入图像的累积直方图,c1的累计和是hgram对于所有强度k.这种最小化受到以下约束:

  • T一定是单调的

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

histeq使用变换bT一个)绘制灰度图X(或颜色映射)到它们的新值。

如果您没有指定hgram,然后histeq创建一个平面hgram

hgram = ones(1,n)*prod(size(A))/n;

然后应用之前的算法。

扩展功能

版本历史

R2006a之前介绍

全部展开