阅读背景:

【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;
}

#include "opencv2/highgui/highg



你的当前访问异常,请进行认证后继续阅读剩余内容。

分享到: