文档

histeq

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

语法

hgram J = histeq(我)
J = histeq(我,n)
[J T] = histeq(我)
[gpuarrayJ, gpuarrayT] = histeq (gpuarrayI,___)
newmap = histeq (X,地图)
newmap = histeq (X,地图,hgram)
[newmap T] = histeq (X,___)

描述

例子

J= histeq (,hgram)变换图像强度这样的输出强度图像的直方图J长度(hgram)箱子大约直方图匹配的目标hgram

J= histeq (,n)变换图像强度,返回J的强度图像n离散灰色的水平。数量大致相等的像素映射到每一个n水平J,这样的直方图J大约是平的。的柱状图J是平n比的离散程度小得多

(J,T)= histeq ()返回灰度变换T图像中灰度级映射灰色的水平J

(gpuarrayJ,gpuarrayT)= histeq (gpuarrayI,___)在GPU执行直方图均衡化。输入图像和输出图像的类型gpuArray。这个语法需要并行计算工具箱™。

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

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

(newmap,T)= histeq (X,___)返回灰度变换T映射的灰色成分地图灰色的组成部分newmap

例子

全部折叠

读一个图像到工作区中。

我= imread (“tire.tif”);

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

J = histeq(我);

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

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

显示原始图像的直方图。

图imhist(我64)

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

图imhist (J, 64)

加载3 d数据集。

负载mristack

执行直方图均衡化。

增强= histeq (mristack);

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

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

这个例子对GPU执行相同的直方图均衡化。

我= gpuArray (imread (“tire.tif”));J = histeq(我);图imshow(我)图imshow (J)

输入参数

全部折叠

输入强度图像,指定为一个数字数组。可以2 d, 3 d,或N- d。

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

目标直方图,指定为一个数值向量。hgram等距的垃圾箱,在适当的强度值范围:[0,1]类的图片吗,为的图像类[0,255]uint8,为的图像类[0,65535]uint16,为图像的类(-32768、32767)int16histeq自动扩展hgram总和(hgram) =元素个数(我)。的柱状图J将更好地匹配hgram长度(hgram)比的离散程度小得多

数据类型:|

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

数据类型:|

输入图像在GPU上运行时,指定的作为gpuArray

索引图像,指定为数组的数值。中的值X是一个索引地图X可以2 d, 3 d,或N- d。

数据类型:||uint8|uint16

Colormap,指定为一个n3数组。每一行指定一个RGB颜色值。

数据类型:

输出参数

全部折叠

输出强度图像,作为数字数组返回同一个类的输入图像J也有相同的尺寸

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

数据类型:

输出图像在GPU上运行时,作为一个返回gpuArray

灰度变换在GPU上运行时,作为一个返回gpuArray

改变了colormap,指定为一个n3数组。每一行指定一个RGB颜色值。

数据类型:

算法

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

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

在哪里c 0的累积直方图吗一个,c 1累积的总和吗hgram对于所有的强度k。这最小化的约束条件T必须单调,c 1 (T (a))不能过度c 0 (一)一半以上直方图之间的距离计算一个histeq使用转换b=T(一个地图的灰色的水平X(或colormap)他们的新值。

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

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

然后应用前面的算法。

扩展功能

之前介绍过的R2006a

这个主题有帮助吗?