如何在同一个窗口中并排显示2个网络摄像头视频以获得立体声效果
How to display 2 webcam videos side by side in the same window for stereo?
我想使用3D头戴式显示器(HMD)为第一人称视角(FPV)创建一个立体声视频馈送。如何在同一视频中显示两个网络摄像头视频,然后使用箭头键调整它们的位置?
并排显示两个视频非常简单-只需从两个相机获取帧并将结果复制到一个图像中(Mat):
VideoCapture videoLeft(0), videoRight(1);
Mat left, right, both;
int width = 640, height = 480;
both = Mat(height + 100, 2 * width + 150, CV_MAKETYPE(8, 3), CV_RGB(100, 100, 100));
while(true)
{
videoLeft >> left;
videoRight >> right;
if (left.data == NULL || right.data == NULL)
break;
left.copyTo(Mat(both, Rect(50, 50, width, height)));
right.copyTo(Mat(both, Rect(100 + width, 50, width, height)));
imshow("images", both);
waitKey(30);
}
在此代码中,将宽度和高度的值替换为从相机获取的图像的大小-您可以通过检查left.rows
(高度)和left.cols
(宽度)的值来轻松检查它。
你可以调整位置改变这2行:
left.copyTo(Mat(both, Rect(50, 50, width, height)));
right.copyTo(Mat(both, Rect(100 + width, 50, width, height)));
只需使用Rect构造函数的第一个和第二个参数的值。第一个参数是x位置,第二个参数是y。你可以在按下一些键后更改它们。更多信息-[由于链接断开而更新到web存档:]http://web.archive.org/web/20130619174223/http://bsd-noobz.com/opencv-guide/45-单键盘
相关文章:
- 如何在c++中录制具有精确帧时间戳的视频
- 如何在QT中的自定义视频小工具t上绘制矩形
- OpenCV 4.1.2 - 从网络摄像头获取帧并将其拆分
- 使用OpenCV和覆盆子上的多个网络摄像头拍摄延时摄影,出现多个V4L错误
- OpenCV没有显示来自Macbook网络摄像头的视频
- 使用来自视频文件或网络摄像头的 Kinect 面部跟踪
- 如何使用OpenCV在2分钟的间隔内从网络摄像头捕获视频
- 如何在从网络摄像头拍摄视频时加快IMediaControl::Run()
- 无法在 OpenCV 2.4.7 中从摄像头捕获视频
- 手机摄像头是否有可能以不规则的 fps 拍摄视频
- OpenCV:使用 cvWriteFrame 从网络摄像头写入视频时内存泄漏
- 从 Open CV 捕获网络摄像头视频
- 如何在同一个窗口中并排显示2个网络摄像头视频以获得立体声效果
- 如何在ubuntu上使用opencv从外部摄像头捕获视频
- 使用Qt5从USB摄像头录制视频
- opencv视频采集和虚拟机上的摄像头访问
- 在c++中使用directshow从网络摄像头捕获简单的视频
- 视频捕捉无法检测到uEye摄像头
- 网络摄像头视频捕捉使用Visual c++ 6.0
- openCV-网络摄像头的视频捕获-延迟问题