应用:图像特征提取
#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; }
时间: 2024-10-27 13:17:27