强度等级的映射以创建平坦的直方图
请参考以下链接
在每个强度级别分配相同数量的像素
在算法中,称为“优先级”的参数与像素相关联。 我们在什么基础上为像素分配优先权? 例如,让我们假设在直方图中有25个像素的亮度等级为10。 那么哪个像素会有哪些优先级?我们如何来决定。 它是基于像素的位置吗?
编辑:
这个问题不问什么是直方图均衡或者如何完成映射以便从输入图像获得均衡的图像。 实际上,这个问题是在手动或使用histeq获得输出图像(均衡图像)后处理后处理。 问题是我们如何从直方图中得到一个近乎平坦的直方图,这个直方图不是很平坦,例如我们从256个直方图(不是很平坦)获得64个bin直方图(平面)。 我们如何将像素分配到不同的分箱以获得平坦的直方图。 我开始了解在我给出的链接(上面)中讨论的算法,但术语PRIORITY并不清楚我们如何计算它。 所以基本上问题是关于从256个bin直方图中获取64个bin直方图,或者通过将像素重新分配到bin来从256个bin直方图中获取一个平坦的256个bin直方图。
例如,我将图像映射到如下所示的4个bin
正如你所看到的,直方图之间有一些区别,一个是由histeq生成的,另一个是手动创建的。 箱位置和像素数量如下所示:
对于由histeq生成的直方图(我们可以在这里看到像素的均匀分布),以下是分布
Bin number No. of pixels
1 4207
86 4146
171 4314
256 3965
对于由于手动均衡而产生的直方图(我们可以看到像素的不均匀分布),以下是分布
Bin number No. of pixels
1 2678
86 5583
171 5061
256 3310
在我的图像中,总共有16632个像素,需要将它们平均分配到这4个区域,即每个区域4158个像素。 现在我该如何重新分配它们以获得平坦的hsitogram,例如我们在histeq中获得的平面图。 上述链接(由我给出)是指关于如何去做的算法,但它指的是我无法理解的术语优先级 。 我只想知道像素的优先级是什么,我们如何计算它。
您可以根据亮度对N个像素进行排序。 并且用公式B = I / N将像素索引I映射到亮度B.(亮度将位于0..1)
(这肯定会产生一些文物,但我猜这就是答案,你可以以某种方式修复它们。)
PS - 另外值得一提的是,“直方图均衡”不会生成平坦的直方图,而是线性累积直方图。
链接地址: http://www.djcxy.com/p/89777.html上一篇: Mapping of intensity levels to create a flat histogram
下一篇: How can I draw/plot intensity of image in 2D figure in MATLAB