我对图像处理很陌生,我正在寻找一种解决方案来获得灰度图像的最大像素值。我正在使用Aforge.Net库,我尝试使用ImageStatistics类来获取灰度图像的最大像素值。我只需要确定我是否在正确的道路上。有人可以通过以下方式告诉我吗?
ImageStatistics stat = new ImageStatistics(bmpSource);
Histogram hist = stat.Gray;
int maxPixelVal = hist.Max;
int minPixelVal = hist.Min;
在此代码段中,我使用GrayChannel获取最大值。我需要确定这是否会给我整个图像的最高像素值或只是灰色通道
提前致谢
答案 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,因此您的方法应该有效。