OpenCV学习笔记(1):获取摄像头并显示摄像头视频

原创 2016年06月01日 14:57:55
最近为了学习OpenCV,找了《OpenCV入门教程》(PDF版)当做入门教材,后面将开始学习《学习OpenCV》
这本书。
对《OpenCV入门教程》里面的所有例子进行了实践,发现文章最后关于“获取摄像头并显示摄像头视频”
这一部分给出的代码运行不出来,博主搜集了一些资料,找出问题根源,现给出修改后的代码:
//代码的含义主要是通过电脑摄像头获取视屏,并对每一帧图像进行Canny边缘检测,最后显示出来。
#include<stdio.h>
#include<iostream>
#include "opencv2/opencv.hpp" 
#include"highgui.h"
using namespace cv;
using namespace std; 

int main(int argc, char** argv[])  
{  
    VideoCapture cap(0);  
    if(!cap.isOpened())
    {  
        cerr<<"Open camera/video failed.\n"<<endl;  
        return -1;  
    } 
    int i=0;
    Mat edges; 
    Mat frame;
    namedWindow("edges", 1);  
    for(;;)
    {
        cap>>frame;
        if(frame.empty()&(i>0))
               break;
        if(i>0){
            cvtColor(frame,edges,CV_BGR2GRAY);
            Canny(edges,edges,0,90,3);
            imshow("edges",edges);
        }
        i++;
        if(waitKey(30)>=0)
            break;
    }
    return 0;  
}  

问题分析:《OpenCV入门教程》中的源代码在运行时可能获取不到第一帧图像,从而导致闪退。博主新定义了变量i,使得程序从第二帧图像开始处理,这样就不会出现问题了。下面给出运行效果图。
这里写图片描述

版权声明:本文为博主原创文章,未经博主允许不得转载。

opencv程序(从摄像头读取视频并显示)

  • 2013年12月15日 11:35
  • 454B
  • 下载

OPENCV3.0打开摄像头或者视频显示画面

OPENCV3.0大大的简化了视频流的读取,用了>>流操作符来读取帧。获取摄像头画面:#include using namespace cv; int main() { VideoCa...
  • qq_18297675
  • qq_18297675
  • 2017年05月31日 12:46
  • 1634

在mfc中利用opencv打开摄像头并显示在窗口上

平台:vs2013+opencv3.1.0 本来以为利用mfc打开摄像头并且显示到窗口上应该是很简单的一件事情,但是没想到却遇到了一点麻烦,首先我是根据这篇博客做的http://blog.csdn....
  • duhuzhen
  • duhuzhen
  • 2016年11月11日 21:50
  • 3768

OpenCV 获取摄像头并显示摄像头视频

OpenCV 获取摄像头,新建窗口显示摄像头视频 结合Leaning OpenCV 第二个例子 显示一个视屏文件  写了一下 获取摄像头的代码为并且创建窗口显示的代码为:#include "stdaf...
  • Augusdi
  • Augusdi
  • 2013年04月05日 23:25
  • 85251

我的OpenCV学习笔记(11):启动摄像头

在网上看了许多关于OpenCV启动摄像头的资料,但是,都是基于C语言的,代码又臭又长,(其实主要是因为我学的OpenCV就是用C++的,C语言的基本数据结构不太熟悉),所以一直想找一个用C++写的程序...
  • thefutureisour
  • thefutureisour
  • 2012年05月03日 09:16
  • 76938

OpenCV打开摄像头并获取实时视频图像代码

使用OpenCV来打开手提电脑摄像头,并获取实时彩色(摄像头允许情况下)视频图像显示在屏幕上。...
  • liaoqix
  • liaoqix
  • 2015年04月28日 17:25
  • 2316

OpenCV捕获视频和摄像头

从文件中捕获视频 其实使用OpenCV读取视频相当简单,只需要初始化一个VideoCapture对象,打开视频文件,逐帧读取。 程序 下面是简单的OpenCV代码: 1 2 3 4 ...
  • qq_26898461
  • qq_26898461
  • 2015年10月12日 11:02
  • 1621

OpenCV2从摄像头获取帧并写入视频文件

一段基于OpenCV2的代码。 作用是从摄像头获取帧并将帧写入指定的视频文件中。 需要注意的是,视频文件所在的路径需要存在,例如D:/images/1.avi。images这个目录需要存在。调用V...
  • zxc024000
  • zxc024000
  • 2016年05月17日 17:42
  • 4030

OpenCV摄像头保存视频和图像

OpenCV摄像头保存视频和图像
  • jacke121
  • jacke121
  • 2017年01月19日 00:24
  • 953

opencv实现显示摄像头视频

  • 2013年11月25日 11:51
  • 27.57MB
  • 下载
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:OpenCV学习笔记(1):获取摄像头并显示摄像头视频
举报原因:
原因补充:

(最多只允许输入30个字)