我是靠谱客的博主 虚心蜻蜓,这篇文章主要介绍windows 视频采集开源库,现在分享给大家,希望可以做个参考。

现在进行windows上视频采集,主要的库有 opencv  ffmpeg videoinput。

下面简单介绍下  videoinput 


官网:    http://www.muonics.net/school/spring05/videoInput/

源代码:https://github.com/ofTheo/videoInput


videoinput  正常同时进行多路采集,通过传递设备索引号即可。


直接上简单的代码:


复制代码
1
videoInput VI;
复制代码
1
复制代码
1
复制代码
1
int devideNumber = 0;
复制代码
1
复制代码
1
VI.setIdealFramerate(devideNumber, 50);
复制代码
1
复制代码
1
VI.setupDevice(devideNumber, 320, 240);
复制代码
1
复制代码
1
复制代码
1
int width = VI.getWidth(devideNumber);
复制代码
1
int height = VI.getHeight(devideNumber);
复制代码
1
int size = VI.getSize(devideNumber);
复制代码
1
复制代码
1
复制代码
1
unsigned char * bgr = new unsigned char[size];
复制代码
1
复制代码
1
while (true) {
复制代码
1
//to get the data from the device first check if the data is new
复制代码
1
if(VI.isFrameNew(devideNumber)){
复制代码
1
VI.getPixels(devideNumber, bgr, false, false); //fills pixels as a BGR (for openCV) unsigned char array - no flipping
复制代码
1
} else {
复制代码
1
Sleep(10);
复制代码
1
continue;
复制代码
1
}
复制代码
1
}


在Qt的mingw 环境下,直接包含 videoinout.h videoinout.cpp,

需要这样修改:

在遇到HEADER 找不到时,替换成 PBITMAPINFOHEADER 即可。


Qt的工程文件如下:


复制代码
1
#-------------------------------------------------
复制代码
1
#
复制代码
1
# Project created by QtCreator 2014-11-16T05:09:09
复制代码
1
#
复制代码
1
#-------------------------------------------------
复制代码
1
复制代码
1
QT += core gui
复制代码
1
复制代码
1
复制代码
1
greaterThan(QT_MAJOR_VERSION, 4): QT += widgets
复制代码
1
复制代码
1
复制代码
1
TARGET = VideoInput_Test
复制代码
1
复制代码
1
TEMPLATE = app
复制代码
1
复制代码
1
复制代码
1
复制代码
1
LIBS += -L$$PWD/libs/DShow/lib -ldxguid -lole32 -loleaut32 -lstrmiids -luuid -lstrmbasd -lstrmbase
复制代码
1
LIBS += -L$$PWD/libs/glfw -lglfw
复制代码
1
复制代码
1
复制代码
1
SOURCES += main.cpp
复制代码
1
mainwindow.cpp
复制代码
1
videoInput.cpp
复制代码
1
复制代码
1
复制代码
1
HEADERS += mainwindow.hpp
复制代码
1
videoInput.h
复制代码
1
复制代码
1
复制代码
1
FORMS += mainwindow.ui
复制代码
1

最后

以上就是虚心蜻蜓最近收集整理的关于windows 视频采集开源库的全部内容,更多相关windows内容请搜索靠谱客的其他文章。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(60)

评论列表共有 0 条评论

立即
投稿
返回
顶部