使用OpenCv同时读取两个摄像头,并实时显示视频,可以读取usb摄像头,海康等网络摄像头。
#include "opencv2/core/core.hpp"
#include "opencv2/highgui/highgui.hpp"
#include "opencv2/imgproc/imgproc.hpp"
#include<iostream>
using namespace cv;
using namespace std;
// 这个代码是可以实现的,可以运行的,但是有的时候外接的摄像头是失帧,显示抓不到帧,需要重新抓取
int main()
{
//这里需要从大到小设置,但是具体的原因不知道,但是我测试了从小到大也是可以显示的
VideoCapture cap1(0);
//VideoCapture cap2(1);
VideoCapture cap2;
if (!cap2.open("rtsp://admin:haikang123456@192.168.1.103/h264/ch1/main/av_stream"))
{
std::cout << "Error opening video stream or file" << std::endl;
return -1;
}
bool stop(false);
Mat frame1;
Mat frame2;
namedWindow("cam1", WINDOW_AUTOSIZE);
namedWindow("cam2", WINDOW_AUTOSIZE);
if (cap1.isOpened() && cap2.isOpened())
{
cout << "*** ***" <