【发布时间】:2017-11-22 00:56:20
【问题描述】:
我有一张图片I,其像素强度在 0-1 范围内。我可以通过标准化来计算图像直方图,但我发现曲线与原始数据的直方图并不完全相同。这会给后面的峰值查找过程带来一些问题(见附图)。
我的问题是在 Matlab 中,有什么方法可以在不对数据进行归一化的情况下绘制图像直方图,以便保持曲线形状不变?当像素强度不在 0-1 范围内时,这将有利于那些原始图像。目前,如果我不对数据进行标准化,我无法计算它们的直方图。
附上归一化和直方图计算的Matlab代码。任何建议将不胜感激!
h = imhist(mat2gray(I));
【问题讨论】:
-
你试过histogram吗?
-
我很困惑。我在这里看到 2 个直方图。一个具有大约 160 到 240 之间的值,另一个看起来像归一化后的直方图。如果无法计算,您是如何得到第一个直方图的?
-
@Piglet 我在这里列出的数据是原始数据属于 0-1 范围的数据。我还有其他数据,原始数据不能属于 0-1 范围。这只是一个说明前后曲线不同的例子。
-
当然曲线在归一化前后是不同的。这就是这背后的全部想法。您将其扩展到整个价值范围。请澄清你的问题。不清楚你想要什么。你为什么首先标准化?你不会得到任何新的信息。你只是冒着新高峰的风险。 “我无法计算他们的直方图”是什么意思。你收到错误消息还是什么?
-
@Piglet 很抱歉造成混乱。我的意思是我无法计算它们的直方图是因为 imhist 函数无法拍摄任何强度不属于 0-1 范围的图像。我只是尝试使用直方图而不是使用 imhist 并且它有效。谢谢!
标签: matlab image-processing histogram normalization