#include<opencv2/opencv.hpp>#include<iostream>#include<vector>#include<opencv2/core/core.hpp>#include<opencv2/highgui/highgui.hpp>#include<opencv2/imgproc/imgproc.hpp>#include<string>usingnamespace std;usingnamespace cv;
Mat s1;bool leftButtonDownFlag =false;
Point originalPoint;
Point processPoint;doublesum(Mat src){double counterw =0;double counterz =0;
Mat_<uchar>::iterator it = src.begin<uchar>();
Mat_<uchar>::iterator itend = src.end<uchar>();for(; it != itend; it++){if((*it)>0)
counterw +=1;if((*it)==0)
counterz +=1;}double a = counterw *1.0/(counterz + counterw)*100;return a;}intmain(){
Mat huabu(Size(1280,960), CV_8UC3,Scalar(0,0,0));line(huabu,Point(5,0),Point(5,950),Scalar(255,255,255),2, LINE_AA);line(huabu,Point(5,950),Point(950,950),Scalar(255,255,255),2, LINE_AA);
VideoWriter write;
string outvideo ="huabu25.avi";
write.open(outvideo,0,4.016,Size(1000,1000),true);if(!write.isOpened()){
cerr <<"Could not open the output video file for write\n";return-1;}
VideoCapture capture("34.avi");int i =15;float last =0;double d1, d2, d3, d4, d5, d6;//double t1= (double)getTickCount();while(1){
capture >> s1;if(s1.empty())//||waitKey(pauseTime)==27{
cout <<"n=vedio is over";waitKey(0);return0;}
Mat s2;cvtColor(s1, s2, COLOR_BGR2GRAY);threshold(s2, s2,253,255, THRESH_BINARY);double a =sum(s2);
cout <<"占比是:"<< a << endl;//---------int h =100;int w =100;line(huabu,Point(i -10,950- last *10),Point(i,950- a *10),Scalar(0,0,255),2, LINE_AA);
i +=10;
last = a;imshow("s2", huabu);
write.write(huabu);waitKey(0);}return0;}