|
发表于 2016-1-9 09:50:28
|
显示全部楼层
我用opencv2版本语言调用摄像头计算每一帧的低灰度像素个数,可以的啊,,
#include "opencv2/core/core.hpp"
#include"opencv2/highgui/highgui.hpp"
#include"opencv2/imgproc/imgproc.hpp"
//-----------------------------------【命名空间声明部分】---------------------------------------
// 描述:包含程序所使用的命名空间
//-----------------------------------------------------------------------------------------------
using namespace cv;
Mat edges;
//-----------------------------------【main( )函数】--------------------------------------------
// 描述:控制台应用程序的入口函数,我们的程序从这里开始
//-----------------------------------------------------------------------------------------------
int main( )
{
int m=0,i=0,cj=0,c[555],num=0;
VideoCapture capture(0);
while(1)
{
Mat frame;
capture>>frame;
for( int p=0;p<480;p++)
{
for( int q=0;q < 960;q++)
{
if((frame.at<uchar>(p,q)>0)&&(frame.at<uchar>(p,q)<100))
{
frame.at<uchar>(p,q)=0;
m++;
}
}
}
//3#################################@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
printf("个数%9d\t",m);
cj=m;//cj相当于是把 m 取出来,避免m被清零,,表示1个画面的0-100灰度值像素的总个数
m=0;
imshow("效果图" ,frame );
if(waitKey(30)>=0) break;
num=num+cj;i++;//num计算20个画面的0-100灰度值像素的总个数
if (i%20==0)
{ printf("average黑点数目%9d\t\n",num/20);num=0;}
}
return 0;
} |
|