Opencv VideoCapture File, Camera and stream
Opencv tutorial simple code in C++ to capture video from File, Ip camera stream and also the web camera plug into the computer.. The key is to have installed the FFMPEG espetially in case of reading the strem of IP cameras. In windows just use Opencv Installation by Nugets packages Here. Simple easy under 2 minutes instalation. In Linux you need to follow the instruction bellow. If you are on Debian Like package system. Under Fedora Red hat dist just use different aproach. Code is simple and installation is the key..
Windows use nugets packages
Linux you have to install and build Opencv With FFMPEG. Also simple.
It is easy capture video in opencv
Video capture
in opencv is really easy task, but for little bit experienced user.
What is problem?
Problem is instalation of Opencv without recommended dependencies.
Just install all basic libs that is recommended on website.
# Basic packages sudo apt-get -y install build-essential sudo apt-get -y install cmake sudo apt-get -y install pkg-config
# Basic dependencies sudo apt-get -y install libgtk2.0-dev python-dev python-numpy
# OpenCV dependencies part II. sudo apt-get -y install libgstreamer0.10-0-dbg libgstreamer0.10-0 libgstreamer0.10-dev libgstreamer-plugins-base0.10-dev libunicap2 libunicap2-dev libdc1394-22-dev libdc1394-22 libdc1394-utils libv4l-0 libv4l-dev sudo apt-get -y install libavcodec-dev libavformat-dev libswscale-dev sudo apt-get -y install libdc1394-22-dev libdc1394-utils sudo apt-get -y install libjpeg-dev libpng-dev libtiff-dev libjasper-dev sudo apt-get -y install libtiff5 libtiff5-dev sudo apt-get -y install libopenexr-dev sudo apt-get -y install libjasper-dev # Algebra sudo apt-get -y install libeigen3-dev
Install ffmpeg .
You need to download and build by own in case of Debian Jessie or some version of Ubuntu.
Just download, extract tar archive ffmpeg.tar.bz2.
1 configure instalation ./configure -- with Right Params.
2 Make - make -j4
3 install - make install
4 write config ldconfig -v
Compile opencv
Check this table during the opencv instalation. if you have FFMPEG and all AV libs
AVCODEC AVFORMAT AVUTIL AVSWSCALE you can continue with opencv installation.
![]() |
| Opencv config |
Read video file in Opencv
VideoCapture capture("input.mp4");
Read rtsp stream in Opencv
VideoCapture capture("rtsp://USER:PASS@xxx.xxx.xxx.xxx/axis-media/media.amp?camera=2");
Some of my next post will be about rtsp stream format. PLS subscribe.
Read web camera in Opencv
VideoCapture capture(0);
Opencv 3 and higher c++ code
#include
#include
#include
using namespace std;
using namespace cv;
//Chose input
//VideoCapture capture(0);
VideoCapture capture("rtsp://USER:PASS@xxx.xxx.xxx.xxx/axis-media/media.amp?camera=2");
//VideoCapture capture("input.mp4");
// create mat to fill by external source
Mat frame;
for(;;)
{
bool OK = capture.grab();
if (OK == false){
cout << "cannot grab" << endl;
}
else{
// retrieve a frame of your source
capture.read(frame);
//OR
// capture >> frame;
}
}
OpenCV视频捕获教程
本文详细介绍如何使用OpenCV在C++中从文件、IP摄像头流及计算机内置摄像头捕获视频。关键步骤在于正确安装FFMPEG,尤其对于IP摄像头流的读取。在Windows下可通过Nuget包快速安装,在Linux环境下需遵循特定指令集进行OpenCV和FFMPEG的安装与构建。文章提供了简单的代码示例,包括从不同源读取视频帧的方法。

807

被折叠的 条评论
为什么被折叠?



