0

我对图像处理很陌生,我正在寻找一种解决方案来获得灰度图像的最大像素值。我正在使用 Aforge.Net 库,并尝试使用 ImageStatistics 类来获取灰度图像的最大像素值。我只需要确定我是否走在正确的道路上。有人可以就以下问题给我建议吗?

ImageStatistics stat = new ImageStatistics(bmpSource);

        Histogram hist = stat.Gray;

        int maxPixelVal = hist.Max;
        int minPixelVal = hist.Min;

在这个片段中,我使用 GrayChannel 获得了最大值。我需要确定这是否会给我整个图像的最高像素值或只是灰色通道

提前致谢

4

1 回答 1

0

http://www.aforgenet.com/framework/docs/html/937b609f-8d95-662f-c4ac-55eebc44a1cf.htm

ImageStatistics.Gray Property

灰色通道的直方图。备注:该属性仅对灰度图像有效(参见 IsGrayscale 属性)。

http://www.aforgenet.com/framework/docs/html/61212d57-52ee-9935-2364-b3a34a2213d0.htm

Histogram.Max Property

该属性允许检索具有非零命中计数的直方图的最大值。

所以,看起来这会给你你想要的。

要考虑的一件事是直方图的粒度/分辨率。有时,直方图的箱(值)数量小于它所代表的颜色通道中可能的阴影数量。

因此,每个 bin 代表源图像中的一系列阴影/像素值,并将为您提供此范围内像素数(或总图像的分数)的计数。

如果是这种情况,您将无法从直方图中获取绝对最大像素值,只能获取最大像素所在的范围。

然而,这里的 bin 数量与颜色通道中可能的阴影数量看起来是 1:1,因此您的方法应该有效。

于 2012-06-22T14:48:17.550 回答