Самый быстрый способ получить количество белых пикселей в двоичном изображении с помощью OpenCV

Каков самый быстрый способ получить число белых пикселей в двоичном изображении с помощью OpenCV? Есть ли что-то быстрее, чем использование двух для циклов и доступа к пикселю изображения по пикселям?

Наиболее краткий способ добиться этого:

cv::Mat image, mask; //image is CV_8UC1 cv::inRange(image, 255, 255, mask); int count = cv::countNonZero(mask); 

Если вы работаете на двоичном изображении, тогда вызов cv::inRange() не нужен, и просто cv::countNonZero() будет достаточно.

Хотя любой метод должен проходить через все пиксели, он может использовать встроенный parallel_for_() запуск OpenCV.

Если ваше изображение непрерывно, вы можете перебирать все данные с помощью одного цикла.