OpenCV编程-四路摄像头拼接实时显示

2024-02-14 23:32

本文主要是介绍OpenCV编程-四路摄像头拼接实时显示,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!


手头上摄像头蛮多的,顺便就把多路摄像头实时拼接显示做了一下,如下图:

// opencvtest.cpp : 定义控制台应用程序的入口点。
//#include "stdafx.h"
#include <opencv2/opencv.hpp>
#include <iostream>
#include <time.h>
#include<windows.h>
using namespace cv;
using namespace std;Mat frame;
Mat frame1;
Mat b;
Mat b1;
cv::Mat roi_img_left;
cv::Mat roi_img_right;
cv::Mat roi_img_left1;
cv::Mat roi_img_right1;
char fileNameBmpLeft[64];
char fileNameBmpRight[64];
int calibStep = 1;
int ret = 0;
int _tmain(int argc, _TCHAR* argv[])
{namedWindow("【display】", CV_WINDOW_NORMAL);VideoCapture capture(1);Sleep(100);capture.set(CV_CAP_PROP_FRAME_WIDTH, 2560);capture.set(CV_CAP_PROP_FRAME_HEIGHT, 960);capture.set(CV_CAP_PROP_FPS, 30);//帧数Sleep(100);VideoCapture capture1(2);Sleep(100);capture1.set(CV_CAP_PROP_FRAME_WIDTH, 2560);capture1.set(CV_CAP_PROP_FRAME_HEIGHT, 960);capture1.set(CV_CAP_PROP_FPS, 30);//帧数Sleep(100);setMouseCallback("【display】", on_mouse, &frame);while (1){capture1 >> frame1;capture >> frame;b = frame.clone(); //a copy to b roi_img_left = frame(cv::Range(0, 960), cv::Range(0, 1280));roi_img_right = b(cv::Range(0, 960), cv::Range(1280, 2560));b1 = frame1.clone(); //a copy to b roi_img_left1 = frame1(cv::Range(0, 960), cv::Range(0, 1280));roi_img_right1 = b1(cv::Range(0, 960), cv::Range(1280, 2560));Mat combine, combine1, combine2;hconcat(roi_img_left, roi_img_right, combine1);hconcat(roi_img_left1, roi_img_right1, combine2);vconcat(combine1, combine2, combine);imshow("【display】", combine);frame.release();break;waitKey(30);}capture.release();system("pause");return 0;
}


这篇关于OpenCV编程-四路摄像头拼接实时显示的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/709873

相关文章

Go语言数据库编程GORM 的基本使用详解

《Go语言数据库编程GORM的基本使用详解》GORM是Go语言流行的ORM框架,封装database/sql,支持自动迁移、关联、事务等,提供CRUD、条件查询、钩子函数、日志等功能,简化数据库操作... 目录一、安装与初始化1. 安装 GORM 及数据库驱动2. 建立数据库连接二、定义模型结构体三、自动迁

Python如何将OpenCV摄像头视频流通过浏览器播放

《Python如何将OpenCV摄像头视频流通过浏览器播放》:本文主要介绍Python如何将OpenCV摄像头视频流通过浏览器播放的问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完... 目录方法1:使用Flask + MJPEG流实现代码使用方法优点缺点方法2:使用WebSocket传输视

SpringSecurity显示用户账号已被锁定的原因及解决方案

《SpringSecurity显示用户账号已被锁定的原因及解决方案》SpringSecurity中用户账号被锁定问题源于UserDetails接口方法返回值错误,解决方案是修正isAccountNon... 目录SpringSecurity显示用户账号已被锁定的解决方案1.问题出现前的工作2.问题出现原因各

使用Python和OpenCV库实现实时颜色识别系统

《使用Python和OpenCV库实现实时颜色识别系统》:本文主要介绍使用Python和OpenCV库实现的实时颜色识别系统,这个系统能够通过摄像头捕捉视频流,并在视频中指定区域内识别主要颜色(红... 目录一、引言二、系统概述三、代码解析1. 导入库2. 颜色识别函数3. 主程序循环四、HSV色彩空间详解

OpenCV实现实时颜色检测的示例

《OpenCV实现实时颜色检测的示例》本文主要介绍了OpenCV实现实时颜色检测的示例,通过HSV色彩空间转换和色调范围判断实现红黄绿蓝颜色检测,包含视频捕捉、区域标记、颜色分析等功能,具有一定的参考... 目录一、引言二、系统概述三、代码解析1. 导入库2. 颜色识别函数3. 主程序循环四、HSV色彩空间

java对接海康摄像头的完整步骤记录

《java对接海康摄像头的完整步骤记录》在Java中调用海康威视摄像头通常需要使用海康威视提供的SDK,下面这篇文章主要给大家介绍了关于java对接海康摄像头的完整步骤,文中通过代码介绍的非常详细,需... 目录一、开发环境准备二、实现Java调用设备接口(一)加载动态链接库(二)结构体、接口重定义1.类型

RedisTemplate默认序列化方式显示中文乱码的解决

《RedisTemplate默认序列化方式显示中文乱码的解决》本文主要介绍了SpringDataRedis默认使用JdkSerializationRedisSerializer导致数据乱码,文中通过示... 目录1. 问题原因2. 解决方案3. 配置类示例4. 配置说明5. 使用示例6. 验证存储结果7.

pandas实现数据concat拼接的示例代码

《pandas实现数据concat拼接的示例代码》pandas.concat用于合并DataFrame或Series,本文主要介绍了pandas实现数据concat拼接的示例代码,具有一定的参考价值,... 目录语法示例:使用pandas.concat合并数据默认的concat:参数axis=0,join=

Python中OpenCV与Matplotlib的图像操作入门指南

《Python中OpenCV与Matplotlib的图像操作入门指南》:本文主要介绍Python中OpenCV与Matplotlib的图像操作指南,本文通过实例代码给大家介绍的非常详细,对大家的学... 目录一、环境准备二、图像的基本操作1. 图像读取、显示与保存 使用OpenCV操作2. 像素级操作3.

C/C++中OpenCV 矩阵运算的实现

《C/C++中OpenCV矩阵运算的实现》本文主要介绍了C/C++中OpenCV矩阵运算的实现,包括基本算术运算(标量与矩阵)、矩阵乘法、转置、逆矩阵、行列式、迹、范数等操作,感兴趣的可以了解一下... 目录矩阵的创建与初始化创建矩阵访问矩阵元素基本的算术运算 ➕➖✖️➗矩阵与标量运算矩阵与矩阵运算 (逐元