如何返回灰度图像的最大像素值

时间:2012-06-22 14:42:04

标签: c# image-processing pixel aforge

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

ImageStatistics stat = new ImageStatistics(bmpSource);

        Histogram hist = stat.Gray;

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

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

提前致谢

1 个答案:

答案 0 :(得分:1)

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表示来自源图像的阴影/像素值的范围,并且将为您提供此范围内的像素数(或总图像的分数)的计数。

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

然而,这里的容器数量与颜色通道中可能的阴影数量之比为1:1,因此您的方法应该有效。