OpenCV外接USB摄像头的方法

 更新时间:2021年06月22日 16:58:48   作者:Fireman1994  
这篇文章主要为大家详细介绍了OpenCV外接USB摄像头的方法,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下

近期,需要利用OpenCV计算机视觉库读取视频并显示、保存。由于之前一直使用笔记本,此次台式机外接USB摄像头,出现了很大问题,总是显示内存问题,谷歌、百度大半天,总结各路大神建议,最终解决了问题,将问题和代码分享给大家,避免走弯路。

出现问题原因:

1. 摄像头初始化需要时间,进入循环前 waitKey(2000),否则会出现闪退;
2. 摄像头视频存在解码问题。

//--------------------------------------【程序说明】-------------------------------------------
// 程序说明:OpenCV计算机视觉库入门学习
// 程序描述:台式机利用OpenCV外接USB摄像头,读入视频并显示
// 开发测试所用操作系统: Windows 7 64bit
// 开发测试所用IDE版本:Visual Studio 2010
// 开发测试所用OpenCV版本: 2.4.9
// 2017年10月 Created by @Fireman1994
//------------------------------------------------------------------------------------------------
 
#include"cv.h"
#include"highgui.h"
#include"iostream"
using namespace std;
 
int main(int argc,char* argv[])
{
 CvCapture* cap;
 cap=cvCaptureFromCAM(0);
 if(!cap)
 {
 cout<<"create camera capture error"<<endl;
 system("pause");
 exit(-1);
 }
 cvNamedWindow("img",1);
 IplImage* img;
 //进入循环前,等待一段时间摄像头初始化,否则初始化未完成,会直接闪退出程序
 cvWaitKey(2000);
 while(1)
 {
 img=cvQueryFrame(cap);//读入视频解码
 if(!img)
 break;
 
 cvShowImage("img",img);
 cvWaitKey(3);
 }
 cvReleaseCapture(&cap);
 cvDestroyAllWindows();
 cvReleaseImage(&img);
 return 0;
}

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。

相关文章

  • Qt 事件处理机制的深入理解

    Qt 事件处理机制的深入理解

    本文主要介绍了Qt 事件处理机制的深入理解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2022-04-04
  • c++ vector 常用函数示例解析

    c++ vector 常用函数示例解析

    这篇文章主要介绍了c++ vector 常用函数示例解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-07-07
  • 深入理解C++中的文件操作

    深入理解C++中的文件操作

    这篇文章主要给大家深入的介绍了C++中的文件操作,文件的操作对每个程序员来说都是很重要的,本文的介绍的很详细,有需要的朋友可以参考借鉴,下面来一起看看吧。
    2017-01-01
  • C语言实现猜数字小游戏的示例代码

    C语言实现猜数字小游戏的示例代码

    猜数字小游戏是我们小时候喜欢我们一个经典小游戏。本文将用C语言实现这一经典游戏,文中的示例代码讲解详细,感兴趣的可以了解一下
    2022-08-08
  • C++中的函数修饰符深入讲解

    C++中的函数修饰符深入讲解

    这篇文章主要给大家介绍了关于C++中函数修饰符的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面来一起学习学习吧
    2019-02-02
  • Qt利用QNetwork实现上传数据的示例代码

    Qt利用QNetwork实现上传数据的示例代码

    这篇文章主要为大家详细介绍了Qt如何利用QNetwork实现上传数据的 功能,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下
    2023-02-02
  • C++ 将文件数据一次性加载进内存实例代码

    C++ 将文件数据一次性加载进内存实例代码

    这篇文章主要介绍了C++ 将文件数据一次性加载进内存实例代码的相关资料,需要的朋友可以参考下
    2017-05-05
  • C语言实现扫雷小游戏详解

    C语言实现扫雷小游戏详解

    这篇文章主要为大家详细介绍了C语言实现扫雷小游戏,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2021-05-05
  • 关于读取popen输出结果时未截断字符串导致的命令行注入详解

    关于读取popen输出结果时未截断字符串导致的命令行注入详解

    这篇文章主要给大家介绍了关于读取popen输出结果时未截断字符串导致的命令行注入的相关资料,文中通过图文及示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧。
    2018-03-03
  • ffmpeg 在 win平台下的编译以及集成

    ffmpeg 在 win平台下的编译以及集成

    这篇文章主要为大家介绍了ffmpeg 在 win平台下的编译以及集成详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步早日升职加薪
    2023-05-05

最新评论