使用OpenCV估算灰度图片的平均亮度

Tif*_*ado 1 opencv

我有一张灰度图片,我只能将其转换为黑白。但是为此,我需要计算正确的阈值,并且我希望该阈值等于图片的平均亮度。

因此,我想知道如何使用OpenCV计算该阈值。框架中是否存在一种可以轻松做到这一点的方法?

我想为每个像素添加亮度的每个值(0到255之间),然后将总和除以像素本身的数量,但是我发现访问这些数据的方法确实很慢(.at(i,j)[ k]用于rgb图片)。但是我的图片是灰度的,所以我希望它速度很快,因此可以在iPhone上运行。

ypn*_*nos 5

要计算这些统计数据,请使用cv::sum(),甚至更好cv::mean()

但是,OpenCV已经具有阈值功能,可以为您完成所有您想做的事情: cv :: adaptiveThreshold()

另外,您应该查看Otsu的方法,请参阅cv::threshold()with THRESH_OTSUoption。