使用OpenCV获得二进制图像中白色像素数的最快方法

本文关键字:像素数 方法 白色 OpenCV 二进制 图像 使用 | 更新日期: 2023-09-27 18:16:51

使用OpenCV在二进制图片中获得白色像素的最快方法是什么?有什么比使用两个for循环并逐像素访问图像更快的吗?

使用OpenCV获得二进制图像中白色像素数的最快方法

最简洁的方法是:

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

如果在二进制映像上操作,则不需要调用cv::inRange(),只需调用cv::countNonZero()就足够了。

虽然任何方法都必须遍历所有像素,但这可能能够利用OpenCV的内置parallel_for_(),它允许并行执行。

如果您的图像是连续的,您可以使用单个循环遍历所有数据。