调用摄像头视频

jty940529 2015-07-05 10:34:25
#include <iostream>
#include <cv.h>
#include <cxcore.h>
#include <highgui.h>
#include"highgui.h"
#include <stdio.h>
#include <iostream>
#include <opencv2/core/core.hpp>
#include <opencv2/highgui/highgui.hpp>
using namespace cv;
using namespace std;

int main()
{
CvCapture *capture = NULL;
IplImage *frame = NULL;

char *AviSavePath = "D:\\截图\\";//图片保存的位置
const int jiange = 100;//间隔保存一次图片
capture = cvCaptureFromCAM(-1);//初始化从摄像头中获取视频
cvNamedWindow("AVI player",1);//定义一个窗口,用于显示图像
int count_tmp = 0;//计数总帧数
char tmpfile[100]={'\0'};
while(true)
{
if(cvGrabFrame(capture))//从摄像头或者视频文件中抓取帧
{
if (count_tmp % jiange == 0)
{
frame=cvRetrieveFrame(capture);//取回获取的帧
cvShowImage("AVI player",frame);//显示当前帧
sprintf(tmpfile,"%s//%d.jpg",AviSavePath,count_tmp);//使用帧号作为图片名
cvSaveImage(tmpfile,frame);
}
cvWaitKey(10);
++count_tmp;
}
else
{
break;
}
}
cvReleaseCapture(&capture);
cvDestroyWindow("AVI player");
std::cout<<"总帧数" << count_tmp << std::endl;
return 0;
}


该程序想要实现的目的是调用摄像头视频,按照每10ms截取一张图片然后保存下来,但是我在运行的时调用的摄像头显示的是灰色的,未能成功调用摄像头,该如何解决。
...全文
87 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
ztenv 版主 2015-07-06
  • 打赏
  • 举报
回复
应该是摄像头参数设置的问题,没用过这个,只能帮到你这里了
赵4老师 2015-07-06
  • 打赏
  • 举报
回复
Windows计时精度≈15ms

64,648

社区成员

发帖
与我相关
我的任务
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++ 技术论坛(原bbs)
社区管理员
  • C++ 语言社区
  • encoderlee
  • paschen
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
  1. 请不要发布与C++技术无关的贴子
  2. 请不要发布与技术无关的招聘、广告的帖子
  3. 请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下

试试用AI创作助手写篇文章吧