【发布时间】:2016-04-29 23:17:58
【问题描述】:
请参考以下链接
distributing equal number of pixels in each intensity level
在此算法中,名为“优先级” 的参数与像素相关联。我们在什么基础上为像素分配优先级?例如,假设我们在直方图中有 25 个强度级别为 10 的像素。那么哪个像素将具有什么优先级?我们如何决定这一点。是根据像素的位置吗?
编辑:
这个问题不问什么是直方图均衡化或如何进行映射以便从输入图像中获得均衡化的图像。事实上,一旦手动或使用 histeq 获得了输出图像(均衡图像),这个问题就会处理后处理。 问题是我们如何从不太平坦的直方图中得到几乎平坦的直方图,例如我们从 256 bin 直方图(不太平坦)中获得 64 bin 直方图(平坦)。我们如何将像素分配到不同的 bin 以获得平坦的直方图。我开始了解我给出的链接(上面)中讨论的算法,但是关于我们如何计算它的术语 PRIORITY 并不清楚。所以基本上问题是关于从 256 bin 直方图获得 64 bin histogram 或通过将像素重新分配到 bin 来从 256 bin 直方图获得平坦的 256 bin 直方图。
例如,我将图像映射到 4 个 bin 中,如下所示
您可以看到直方图之间存在一些差异,一个由 histeq 生成,另一个是手动创建的。 bin 位置和像素数如下:
对于由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 个 bin,即每个 bin 4158 个像素。现在我如何重新分配它们以获得平坦的直方图,例如我们在 histeq 的情况下获得的直方图。上述链接(由我提供)指的是关于如何做到这一点的算法,但它指的是我无法理解的术语priority。 我只是想知道一个像素的优先级是什么,我们如何计算它。
【问题讨论】:
-
它叫做"Histogram Equalisation",这里用一个例子来描述...en.m.wikipedia.org/wiki/Histogram_equalization
-
感谢@MarkSetchell 的回复。是的,它的直方图均衡化,但是这个使直方图平坦的步骤是否如上述链接中所讨论的那样包含在 matlab 的 histeq() 函数中?因为我看到我们使用 imhist() 得到的直方图通常不是那么平坦,但我认为这个过程可以使直方图非常平坦,尽管我没有尝试过。
-
@rayryeng 请再看看这个问题。可能是我一开始无法澄清,但现在我已经添加了一个示例。
-
这个问题可能跑题了。考虑迁移到另一个网站……也许是 Signal Processing StackExchange:dsp.stackexchange.com。这仅涉及概念性想法,与编程无关。
-
@rayryeng 你的意思是说 dsp.stackexchange.com 处理概念性想法?我是新来的,如何迁移到其他网站。你也帮不上忙吗?
标签: image-processing