OpenCV学习笔记(1):获取摄像头并显示摄像头视频
2016-06-01 14:57
656 查看
最近为了学习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,使得程序从第二帧图像开始处理,这样就不会出现问题了。下面给出运行效果图。
相关文章推荐
- 买视频送图书-五月活动
- DVI 视频接口图文解析
- C#实现语音视频录制-附demo源码
- 编写C++程序使DirectShow进行视频捕捉
- AnyChat的视频会议程序实例详解
- C#实现控制摄像头的类
- C#调用mmpeg进行各种视频转换的类实例
- C#获取视频某一帧的缩略图的方法
- 基于jQuery的网页影音播放器jPlayer的基本使用教程
- 显示youtube视频缩略图和Vimeo视频缩略图代码分享
- python中使用OpenCV进行人脸检测的例子
- opencv 做人脸识别 opencv 人脸匹配分析
- 使用opencv拉伸图像扩大分辨率示例
- Android 开发随手笔记之使用摄像头拍照
- C#实现调用本机摄像头实例
- PHP使用ffmpeg给视频增加字幕显示的方法
- PHP实现将视频转成MP4并获取视频预览图的方法
- C++实现优酷土豆去视频广告的方法
- PHP简单获取视频预览图的方法
- asp.net 页面中添加普通视频的几种方式介绍