OpenCV x64 vs2010 下打开摄像头录制视频写成avi(代码为转载)
首先参照下面这里进行opencv x64位机器下面的配置
http://wiki.opencv.org.cn/index.php/VC_2010%E4%B8%8B%E5%AE%89%E8%A3%85OpenCV2.4.4
参考到环境变量处的配置之后,文章中所说的x64位机器环境的配置就不是很清晰了,我自己摸索了一些,其实vs2010本身就不是一个64位的编译器。
所以我认为,在64位的win7旗舰版系统中,这个编译器就是支持64位程序的编译运行。
但是vs2010中没有能够直接创建64位程序啊,所以就新建win32控制台程序之后在进行设置。
下面是我在vs2008中的新建的工程做的实验,vs2010一样,都是在属性管理器中->右键工程->属性->配置管理起->活动平台解决方案->新选择平台,选择x64
接着就生成了,新的工程配置选项,如下图所示:
这时候回到,最上面的连接,讲里面所说的路径,配置一下:
http://wiki.opencv.org.cn/index.php/VC_2010%E4%B8%8B%E5%AE%89%E8%A3%85OpenCV2.4.4
画红线的部分右键属性,这里跟连接里面的教程不太一样,由于是在64位环境下,似乎不能直接配置成所有工程的通用属性,所以每次使用的时候都要从新配置下,这点可能要注意!
配置好了之后,可以使用教程中的代码进行一下测试,还要注意一个问题,教程中的代码可能不需要一些附加依赖库就能够运行,但是咱们下面的,驱动摄像头的程序就要用到很多附加依赖库。
有时候在网上搜的时候,由于版本的不同,所以附加依赖库后面的数字是不同的,大家复制粘贴的时候注意要修改一下。下面这些差不多是所有的库了
下面的都是带d 的,也就是debug版本 的附加依赖库:
opencv_contrib244d.lib
opencv_core244d.lib
opencv_features2d244d.lib
opencv_flann244d.lib
opencv_gpu244d.lib
opencv_highgui244d.lib
opencv_imgproc244d.lib
opencv_legacy244d.lib
opencv_ml244d.lib
opencv_nonfree244d.lib
opencv_objdetect244d.lib
opencv_photo244d.lib
opencv_stitching244d.lib
opencv_ts244d.lib
opencv_video244d.lib
opencv_videostab244d.lib
opencv_calib3d244.lib
opencv_contrib244.lib
opencv_core244.lib
opencv_features2d244.lib
opencv_flann244.lib
opencv_gpu244.lib
opencv_highgui244.lib
opencv_imgproc244.lib
opencv_legacy244.lib
opencv_ml244.lib
opencv_nonfree244.lib
opencv_objdetect244.lib
opencv_photo244.lib
opencv_stitching244.lib
opencv_ts244.lib
opencv_video244.lib
opencv_videostab244.lib
下面的程序来自这个连接
http://www.cppblog.com/lanshengsheng/archive/2013/01/16/197309.html
我用我的摄像头(蓝色妖姬M2200 免驱高清)测试,表明,能录8秒左右的avi格式的录像,因为是200次,每秒多少帧还不是很确定。
<span style="font-family:KaiTi_GB2312;font-size:24px;">// Camera_First.cpp : 定义控制台应用程序的入口点。
//
//#include "stdafx.h"
#include "cv.h"
#include "cxcore.h"
#include "highgui.h"
#include <iostream>
using namespace std;
int main()
{
CvCapture* capture=cvCaptureFromCAM(-1);
CvVideoWriter* video=NULL;
IplImage* frame=NULL;
int n;
if(!capture) //如果不能打开摄像头给出警告
{
cout<<"Can not open the camera."<<endl;
return -1;
}
else
{
frame=cvQueryFrame(capture); //首先取得摄像头中的一帧
video=cvCreateVideoWriter("camera.avi", CV_FOURCC('X', 'V', 'I', 'D'), 25,
cvSize(frame->width,frame->height)); //创建CvVideoWriter对象并分配空间
//保存的文件名为camera.avi,编码要在运行程序时选择,大小就是摄像头视频的大小,帧频率是32
if(video) //如果能创建CvVideoWriter对象则表明成功
{
cout<<"VideoWriter has created."<<endl;
}
cvNamedWindow("Camera Video",1); //新建一个窗口
int i = 0;
while(i <= 200) // 让它循环200次自动停止录取
{
frame=cvQueryFrame(capture); //从CvCapture中获得一帧
if(!frame)
{
cout<<"Can not get frame from the capture."<<endl;
break;
}
n=cvWriteFrame(video,frame); //判断是否写入成功,如果返回的是1,表示写入成功
cout<<n<<endl;
cvShowImage("Camera Video",frame); //显示视频内容的图片
i++;
if(cvWaitKey(2)>0)
break; //有其他键盘响应,则退出
}
cvReleaseVideoWriter(&video);
cvReleaseCapture(&capture);
cvDestroyWindow("Camera Video");
}
return 0;
}
</span>
另外在最后生成阶段可能出现无法调试的问题,在百度搜索了一下,可能是.suo文件出现了问题
按照如下方式修改可以解决:
首先打开菜单 项目->项目属性页
选择 配置属性->链接器->调试->生成调试信息 改为 是
选择 配置属性->C/C++ ->常规->调试信息格式 改为 用于“编辑并继续”的程序数据库(/ZI)
选择 配置属性->C/C++ ->优化->优化 改为 禁用(/Od)
OpenCV x64 vs2010 下打开摄像头录制视频写成avi(代码为转载)相关推荐
- Ubuntu系统下安装opencv3.x并打开图片和视频文件以及打开摄像头录制视频
目录 一.安装opencv 1.前置安装条件 2.安装环境 3.下载opencv3.4.11 4.解压安装包 5.开始安装 6.检查是否安装成功 二.显示图片和播放视频 1.显示图片 2.播放视频 三 ...
- 用gcc生成静态库和动态库和使用opencv库编写打开摄像头压缩视频
文章目录 一.用gcc生成静态库和动态库 1.编辑生成程序hello.h.hello.c.main.c 2.将hello.c生成.o文件 3.使用静态库 4.动态库的使用 二.a与.so库文件的生成与 ...
- Python+OpenCV教程3:打开摄像头
Python+OpenCV教程3:打开摄像头 学习打开摄像头捕获照片.播放本地视频.录制视频等. 目标: 打开摄像头并捕获照片 播放本地视频,录制视频 OpenCV函数:cv2.VideoCaptur ...
- HTML5调用摄像头录制视频
HTML5调用摄像头录制视频 不支持ie,ie下不支持webrtc,无法使用navigator.getUserMedia调用摄像头 <!DOCTYPE html> <html> ...
- 微信小程序web-view 外部引用h5页面调用摄像头录制视频 配有提示音
微信小程序web-view 外部引用h5页面调用摄像头录制视频 配有提示音 1.目前的需求是什么 2.都踩了那些坑 1.小程序 2.h5语音提示 3.语音合成声音录制不进去,ios有时候是麦克风,有时 ...
- 教你用Python控制摄像头录制视频~
导语 Python如何下载网页上的图片呢? 哈喽哈喽铁汁萌~今天小编给大家分享另一个Python应用小程序,就是:用Python控制摄像头录制视频! 感兴趣的小伙伴耐心往下看哦
- php微信调用摄像头拍视频,公众号调用摄像头录制视频
公众号微信网页调用摄像头录制视频,不想用input方法. 找了很久找到了腾讯优图.活体检测示例(http://open.youtu.qq.com/h5_ctl/living_detect),这里面采 ...
- html5 video js控制摄像头的焦距,html 通过input video canvas 打开摄像头 定制相机
在机缘巧合之下,了解到用HTML5和javascript调用摄像头来实现拍照功能,今天就把大致原理写下来.页面布局很简单,就是一个input标签,两个HTML5元素video.canvas和一个but ...
- opencv中使用摄像头录制视频
前言:仅个人小记. 以下只是两个基本操作,基于opencv提供的两个主要的视频操控类VideoCapture和VideoWriter来实现录制视频这个简单功能.在很多应用中,录制视频可以作为基础功能, ...
- python调用摄像头录制视频_Python OpenCV使用摄像头捕获视频
我们知道,OpenCV是一款强大的跨平台的计算机视觉库,使用它能完成我们对于图像和视频处理的很多功能,今天,我们使用OpenCV来捕获计算机摄像头的视频. 使用OpenCV捕获摄像头视频 我们知道,视 ...
最新文章
- 安装了ubuntu14.04+windows7双系统的笔记本启动后出现grub rescue提示符
- cms-幻灯片的实现
- 漏洞payload 靶机_学生会私房菜【20200707期】Wordpress 4.6 任意命令执行漏洞
- 请定义一个宏,比较两个数的a、b的大小,不能使用大于、小于、if语句
- 如何算三角形的cotangent
- Atitit.软件硕士 博士课程 一览表 attilax 总结
- html手机背景音乐,HTML插入背景音乐方法【全】
- Linux系统软件安装
- java实现图片拼接
- LoRa SX1278通信代码学习笔记
- 收藏级干货——Auto CAD历史版本功能大盘点(下)
- vue3 项目中 watch 各种不触发
- ORBSLAM2论文翻译
- 单片机数字钟(调时,调时闪烁,万年历,年月日)超详细解析
- 苹果cms首页文件html,苹果cms首页视频不更新怎么解决
- android 的悬浮窗口,Android 之 悬浮窗口
- 网络服务NFS文件共享
- STM32移植到GD32的问题---20170923
- flutter获取图片大小的Widget(网络图片大小,本地图片大小)
- 用JS模拟向左移动的侧移式灯箱效果
热门文章
- python深拷贝和浅拷贝的区别_python 深拷贝与浅拷贝的区别
- python自动化输入文本_快速掌握Python Selenium Web自动化:)四、使用Selenium在网页上进行操作...
- oracle认证071和061,【2019年8月版本】Oracle OCP认证 071考试原题-32
- java -cp 配置文件目录_java – 使用可执行JAR时指定Log4j2配置文件
- DRF的解析器和渲染器
- 【BZOJ1057】[ZJOI2007] 棋盘制作(单调栈的运用)
- UWP 手绘视频创作工具技术分享系列
- FFT(不ji是干甚用的diao操作)
- VML编程之------background背景《VML极道教程》原著:沐缘华
- java reflector_Java DefaultReflectorFactory类代码示例