【opencv】统计图像二值化后白色像素点个数

应用:图像特征提取

#include "opencv2/highgui/highgui.hpp"  
#include "opencv2/imgproc/imgproc.hpp"  
#include "opencv2/core/core.hpp"
#include <opencv\ml.h>
#include <iostream>
#include "cv.h"
#include "highgui.h"
#include <vector>
#include <math.h>
#include <string.h>
#include <fstream>
using namespace std;
using namespace cv;


int bSums(Mat src)
{
	
	int counter = 0;
	//迭代器访问像素点
	Mat_<uchar>::iterator it = src.begin<uchar>();
	Mat_<uchar>::iterator itend = src.end<uchar>();  
	for (; it!=itend; ++it)
	{
		if((*it)>0) counter+=1;//二值化后,像素点是0或者255
	}			
	return counter;
}
int main()
{
	static string imgPath = "F:/lena.jpg";//读取源图
	Mat a1 = imread(imgPath);
	cvtColor(a1,a1,COLOR_BGR2GRAY);//转灰度图
	threshold(a1,a1,200,255,THRESH_BINARY);//二值化
	int a = bSums(a1);//调用函数bSums
	imshow("A",a1);
	cout<<"A:"<<a;
	waitKey();
	return 0;
}



文章来自:http://blog.csdn.net/u013617144/article/details/45339143
© 2021 jiaocheng.bubufx.com  联系我们
ICP备案:鲁ICP备09046678号-3