OpenCV+VideoInput.lib高清摄像机
OpenCV + VideoInput.lib HD camera
我有一个Creative Sync HD,我发现OpenCV不支持高于640x480的分辨率。我找到了一个解决方案-videoinput.lib,但我不知道如何使用它。我只是下载了一个为VC 2008编译的lib,但我在2012年工作(也许这就是问题所在)。好的,所以我把.h
放在项目中,把.lib
放在程序文件中的VC11lib文件夹中。我转到链接器并将lib添加到附加依赖项中。现在我试着写代码,但我找不到任何视频输入的文档,而且我也不太擅长OpenCV。有人能给我一些简单的代码来检查它是否有效吗?我用过:
#include <stdafx.h>
#include "videoInput.h"
#include "opencv/cv.h"
#include "opencv/highgui.h"
#include "opencv2opencv.hpp"
int main()
{
videoInput VI;
int numDevices = VI.listDevices();
int device1= 0;
VI.setupDevice(device1);
int width = VI.getWidth(device1);
int height = VI.getHeight(device1);
IplImage* image= cvCreateImage(cvSize(width, height), 8, 3);
unsigned char* yourBuffer = new unsigned char[VI.getSize(device1)];
cvNamedWindow("test");
while(1)
{
VI.getPixels(device1, yourBuffer, false, false);
image->imageData = (char*)yourBuffer;
cvConvertImage(image, image, CV_CVTIMG_FLIP);
cvShowImage("test", image);
if(cvWaitKey(15)==27) break;
}
VI.stopDevice(device1);
cvDestroyWindow("test");
cvReleaseImage(&image);
return 0;
}
但是我有很多错误(gt,amp,imagedata未定义)。也许我把videoinput.lib安装错了。我确信OpenCV运行良好,并且我使用最新版本(2.4.6)。
VideoInput lib已经是Opencv的一部分(它是windows上默认的Capture实现)。
所以我想,再次编译它对你原来的问题没有帮助。
相关文章:
- 计算每个节点的树高,帮助我解释这个代码解决方案
- 当使用比格式支持的精度更高的精度来显示数字时,会写出什么数据
- C++高阶模板
- 获取 SFML 窗口的 HWND 和高可用性?
- Opencv 恢复到比我设置的更高的分辨率
- 输入较高值时的分段代码
- 高精度双精度的 Sprintf 格式化问题
- 将摄像机调整到俯视图
- 如何清除/清空已打开的文件C++
- OSG地球摄像机位置
- Unity3D高清视频通话
- OPENCV 3在Windows单独的高清上使用Python 3
- 以上全高清分辨率的帧丢失.在MediaFoundation中有AVI解压缩器转换过滤器吗
- OpenGL程序与英特尔高清和NVidia GPU的使用
- OpenCV+VideoInput.lib高清摄像机
- 英特尔高清GPU与英特尔CPU性能对比
- 尝试使用Qt和OpenCV从高清网络摄像头获得1080p的实时feed,只能获得480p
- 在多个显示器上播放高清视频很困难
- 使用opencv从网络摄像机获取高分辨率图像
- 一个有效的方式来缓冲高清视频实时没有最大的内存