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



发布了71 篇原创文章 · 获赞 98 · 访问量 13万+
展开阅读全文

没有更多推荐了,返回首页

©️2019 CSDN 皮肤主题: 大白 设计师: CSDN官方博客

分享到微信朋友圈

×

扫一扫,手机浏览