2012-06-22 49 views
0

我对图像处理非常陌生,我正在寻找一种解决方案来获取灰度图像的最大像素值。我正在使用Aforge.Net库,并尝试使用ImageStatistics类来获取灰度图像的最大像素值。我只需要确定我是否在正确的道路上。请有人建议我以下请?如何返回灰度图像的最大像素值

ImageStatistics stat = new ImageStatistics(bmpSource); 

     Histogram hist = stat.Gray; 

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

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

在此先感谢灰色通道的

+1

顺便说一句,如果图像已经是灰度,那么显然灰度最大值等于最大像素值,同样也是最小值。 – SimpleVar

回答

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,因此您的方法应该可以工作。

+0

谢谢xan。非零点击数意味着什么? –

+1

@hypertunes:这是来自文档的直接引用。它意味着:具有非零计数的最大直方图bin值(即像素值),或者反过来说,图像中具有该值的图像中至少有1个像素的最大像素值。 – xan