OpenCV show two cameras 同时显示两个摄像头

简介:

用OpenCV同时显示两个摄像头的内容的代码如下:

#include <iostream>
#include <stdio.h>
#include <tchar.h>
#include <cv.h>
#include <cvaux.h>
#include <highgui.h>
using namespace std;
int _tmain(int argc, _TCHAR* argv[]) {
    CvCapture* cam0 = cvCaptureFromCAM(CV_CAP_DSHOW + 0);
    if(!cam0)
    {
        fprintf(stderr, "Could not initialize opening of Camera 0..\n");
        system("Pause");
        return -1;
    }
    printf("cam0 initialized\n");
    double height0 = cvGetCaptureProperty(cam0, CV_CAP_PROP_FRAME_HEIGHT);
    double width0 = cvGetCaptureProperty(cam0, CV_CAP_PROP_FRAME_WIDTH);
    cvNamedWindow("Camera 0",CV_WINDOW_AUTOSIZE); //create a window called "Camera 0"

    CvCapture* cam1 = cvCaptureFromCAM(CV_CAP_DSHOW + 1);
    if(!cam1)
    {
        fprintf(stderr, "Could not initialize opening of Camera 1..\n");
        system("Pause");
        return -1;
    }
    printf("cam1 initialized\n");
    double height1 = cvGetCaptureProperty(cam1, CV_CAP_PROP_FRAME_HEIGHT);
    double width1 = cvGetCaptureProperty(cam1, CV_CAP_PROP_FRAME_WIDTH);
    cvNamedWindow("Camera 1",CV_WINDOW_AUTOSIZE); //create a window called "Camera 1"

    while (1)
    {
        IplImage *cam0Frame = cvQueryFrame(cam0);
        if (cam0Frame) {
            cvShowImage("Camera 0", cam0Frame);
        }
        IplImage *cam1Frame = cvQueryFrame(cam1);
        if (cam1Frame) {
            cvShowImage("Camera 1", cam1Frame);
        }
        if (cvWaitKey(30) == 27) //wait for 'Esc' key press for 30ms. If 'Esc' key is pressed, break loop
        {
            cout << "Esc key is pressed by user" << endl;
            break; 
        }
    }

    cvReleaseCapture(&cam0);
    cvReleaseCapture(&cam1);
    cvDestroyWindow("Camera 0");
    cvDestroyWindow("Camera 1");
    return 0;
}

本文转自博客园Grandyang的博客,原文链接:同时显示两个摄像头OpenCV show two cameras ,如需转载请自行联系原博主。

相关文章
|
数据安全/隐私保护 计算机视觉
使用opencv调用网络摄像头出现错误method DeSCRIBE failed
使用opencv调用网络摄像头出现错误method DeSCRIBE failed
210 0
|
3月前
|
编解码 数据安全/隐私保护 计算机视觉
Opencv学习笔记(十):同步和异步(多线程)操作打开海康摄像头
如何使用OpenCV进行同步和异步操作来打开海康摄像头,并提供了相关的代码示例。
154 1
Opencv学习笔记(十):同步和异步(多线程)操作打开海康摄像头
|
3月前
|
计算机视觉
Opencv学习笔记(八):如何通过cv2读取视频和摄像头来进行人脸检测(jetson nano)
如何使用OpenCV库通过cv2模块读取视频和摄像头进行人脸检测,并提供了相应的代码示例。
164 1
|
3月前
|
编解码 计算机视觉 Python
Opencv学习笔记(九):通过CV2将摄像头视频流保存为视频文件
使用OpenCV库通过CV2将摄像头视频流保存为视频文件,包括定义视频编码格式、设置保存路径、通过write写入视频文件,并提供了相应的Python代码示例。
204 0
|
5月前
|
计算机视觉 索引
OpenCv实时设置摄像头参数/获得摄像头参数值的方法论
这篇文章提供了一个OpenCV的实例教程,展示了如何使用`createTrackbar()`函数实时设置和获取摄像头参数值,如饱和度、Gamma和亮度,并通过回调函数在程序中连续修改这些参数。
|
3月前
|
缓存 监控 计算机视觉
视频监控笔记(三):opencv结合ffmpeg获取rtsp摄像头相关信息
本文介绍了如何使用OpenCV结合FFmpeg获取RTSP摄像头信息,包括网络架构、视频监控系统组成、以及如何读取和显示网络摄像头视频流。
129 1
|
3月前
|
计算机视觉 Python
python利用pyqt5和opencv打开电脑摄像头并进行拍照
本项目使用Python的PyQt5和OpenCV库实现了一个简单的摄像头应用。用户可以通过界面按钮打开或关闭摄像头,并实时预览视频流。点击“拍照”按钮可以捕捉当前画面并保存为图片文件。该应用适用于简单的图像采集和处理任务。
235 0
python利用pyqt5和opencv打开电脑摄像头并进行拍照
|
7月前
|
计算机视觉 索引 Python
openCV 3计算机视觉 Python语言实现 笔记__第二章 处理文件、摄像头和图形用户界面
openCV 3计算机视觉 Python语言实现 笔记__第二章 处理文件、摄像头和图形用户界面
|
8月前
|
编解码 API 计算机视觉
opencv从视频文件读取视频内容,从摄像头读取保存视频内容
opencv从视频文件读取视频内容,从摄像头读取保存视频内容
|
8月前
|
C++ 计算机视觉
Opencv(C++)系列学习---读取视频文件和打开摄像头
Opencv(C++)系列学习---读取视频文件和打开摄像头
361 0