OPENCV无法正常调用摄像头

TwelveGJ 2019-04-15 09:26:03
使用书上的范例
#include"highgui.h"

int main(int argc, char** argv)
{
cvNamedWindow("Example2", CV_WINDOW_AUTOSIZE);
CvCapture* capture = cvCreateCameraCapture(-1);
IplImage* frame;
while (1)
{
frame = cvQueryFrame(capture);
if(!frame)
{
break;
}
cvShowImage("Example2", frame);
char c = cvWaitKey(33);
if(c==27)
{
break;
}
}

cvReleaseCapture(&capture);
cvDestroyWindow("Example2");
system("pause");
}

最后在控制台中显示[ WARN:0] cvCreateFileCaptureWithPreference: backend DSHOW doesn't support legacy API anymore.
在网上找了半天没找到解决办法..
...全文
1451 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
jianxin1234561 2021-04-26
  • 打赏
  • 举报
回复
大佬你好,我是萌新,代码能不能发一份 谢谢了
@风轻云淡_ 2019-04-15
  • 打赏
  • 举报
回复
这是我3.4.1版本的代码:
int main()
{
VideoCapture capture;
capture.open(0); //从摄像头读入视频 0表示从摄像头读入

if (!capture.isOpened())
{
cout << "can not open";
cin.get();
return -1;
}

// namedWindow(name);

while (1)
{
Mat cap;
capture >> cap;
if (!cap.empty()) //判断当前帧是否捕捉成功 **这步很重要
imshow(name, cap);
else
{
cout << "can not open";
continue;
}
if(waitKey(3) == 'q')
break; //延时30毫秒
}

return 0;
}
@风轻云淡_ 2019-04-15
  • 打赏
  • 举报
回复
你是用的2.*版本的opencv吗。建议换成3.*版本的试一下。
TwelveGJ 2019-04-15
  • 打赏
  • 举报
回复
引用 3 楼 wallesyoyo 的回复:
你用的还是opencv1里面的C风格的API,最新的opencv4已经都淘汰不用了,报错的原因也是因为这个。

只要你是用opencv2以及以上版本都可以用C++风格的API。

了解了,书上使用的是OPENCV1.0的版本,使用了一下别的帖子里面的代码成功了。
TwelveGJ 2019-04-15
  • 打赏
  • 举报
回复
引用 2 楼 @风轻云淡_的回复:
这是我3.4.1版本的代码:
int main()
{
VideoCapture capture;
capture.open(0); //从摄像头读入视频 0表示从摄像头读入

if (!capture.isOpened())
{
cout << "can not open";
cin.get();
return -1;
}

// namedWindow(name);

while (1)
{
Mat cap;
capture >> cap;
if (!cap.empty()) //判断当前帧是否捕捉成功 **这步很重要
imshow(name, cap);
else
{
cout << "can not open";
continue;
}
if(waitKey(3) == 'q')
break; //延时30毫秒
}

return 0;
}
我的版本是3.4.3,不过稍晚一点回去试一试你这段看看
TwelveGJ 2019-04-15
  • 打赏
  • 举报
回复
我的opencv版本是3.4.3,所以不太理解哪里出问题了...
wallesyoyo 2019-04-15
  • 打赏
  • 举报
回复
你用的还是opencv1里面的C风格的API,最新的opencv4已经都淘汰不用了,报错的原因也是因为这个。

只要你是用opencv2以及以上版本都可以用C++风格的API。

33,311

社区成员

发帖
与我相关
我的任务
社区描述
C/C++ 新手乐园
社区管理员
  • 新手乐园社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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