countNonZero
函数功能
countNonZero用于计算矩阵或图像中非零像素的数量。可以快速统计图像中某种特定特征的出现次数。
函数接口
1 | int countNonZero(InputArray src);  | 
参数
参数名  | 
描述  | 
取值范围  | 
输入/输出  | 
|---|---|---|---|
src  | 
输入图像。  | 
非空、单通道  | 
输入  | 
返回值
- 成功:返回KP_CV_SUCCESS。
 - 失败:返回错误码。
 
错误码
错误码  | 
描述  | 
|---|---|
INVALID_PARAM_MSG  | 
输入图像为空。  | 
NOT_SUPPORT_MSG  | 
输入图像类型错误。  | 
示例
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18  | #include <opencv2/opencv.hpp> #include <iostream> int main() { // 创建一个5x5的二值图像 cv::Mat src = (cv::Mat_<uint8_t>(5, 5) << 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 1, 0, 1, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0); // 统计非零像素的数量 int count = cv::countNonZero(src); std::cout << "非零像素数量: " << count << std::endl; return 0; }  | 
运行结果:
1 | 非零像素数量: 8  | 
父主题: 接口定义