1,打开两个单目,拼成双目

#include <opencv2/opencv.hpp>
#include <opencv2/opencv_modules.hpp>
#include <iostream>using namespace cv;
using namespace std;//int main17051000()
int main()
{VideoCapture cap0(0), cap1(1);Mat image0, image1;cap0.set(CV_CAP_PROP_FRAME_HEIGHT, 240);cap0.set(CV_CAP_PROP_FRAME_WIDTH, 320);cap1.set(CV_CAP_PROP_FRAME_HEIGHT, 240);cap1.set(CV_CAP_PROP_FRAME_WIDTH, 320);Mat imageTwo(240, 320 * 2, CV_8UC3);Rect image0R(0, 0, 320, 240);Rect image0L(320, 0, 320, 240);Mat image0R1 = imageTwo(image0R);Mat image0R2 = imageTwo(image0L);if (cap0.isOpened()){while (true){cap0 >> image0;//blur(image0, image0, Size(5, 5));//Canny(image1, image1, 0.2, 2);image0.copyTo(image0R1);imshow("image0", image0);imshow("imageTwo", imageTwo);waitKey(1);}}if (cap0.isOpened() & cap1.isOpened()){while (true){cap0 >> image0;cap1 >> image1;//blur(image0, image0, Size(5, 5));//Canny(image1, image1, 0.2, 2);image0.copyTo(image0R1);image1.copyTo(image0R2);imshow("image0", image0);imshow("image1", image1);imshow("imageTwo", imageTwo);waitKey(1);}}else{cout << "cannot open camera" << endl;}getchar();return 0;
}int main2()
{int rows = 480, cols = 640;cv::Mat image = cv::imread("nature.jpg");if (!image.data){cout << "There is no picture" << endl;getchar();return false;}Size imageSize = image.size();Mat imageTwo = Mat(imageSize.height, imageSize.width * 2, CV_8UC3);Rect imageLeft(0, 0, imageSize.width, imageSize.height);Rect imageRight(imageSize.width, 0, imageSize.width, imageSize.height);//Mat mLeftView = m_mView(cv::Rect(0, 0, 640, 480));Mat imLeft = imageTwo(imageLeft);Mat imRight = imageTwo(imageRight);image.copyTo(imLeft);image.copyTo(imRight);if (image.data){cv::imshow("image", imageTwo);cv::waitKey();}else{std::cout << "there is no picture!" << std::endl;}getchar();return 0;
}

2,以前opencv打开相机的写法

#include <opencv2/opencv.hpp>
#include <stdio.h>
#include <iostream>#define WIDTH  640
#define HEIGHT 480using namespace std;
using namespace cv;int main4()
{CvCapture *capture1 = NULL, *capture2 = NULL; //capture1 <-> left, capture2 <-> rightIplImage* imageLeft;IplImage* imageRight;capture1 = cvCaptureFromCAM(0);assert(capture1 != NULL);//   cvWaitKey(100);capture2 = cvCaptureFromCAM(1);assert(capture2 != NULL);cvSetCaptureProperty(capture1, CV_CAP_PROP_FRAME_WIDTH, WIDTH);cvSetCaptureProperty(capture1, CV_CAP_PROP_FRAME_HEIGHT, HEIGHT);cvSetCaptureProperty(capture2, CV_CAP_PROP_FRAME_WIDTH, WIDTH);cvSetCaptureProperty(capture2, CV_CAP_PROP_FRAME_HEIGHT, HEIGHT);while (1){imageLeft = cvQueryFrame(capture1);imageRight = cvQueryFrame(capture2);Mat viewL(imageLeft), viewR(imageRight);imshow("viewL", viewL);imshow("viewR", viewR);waitKey(3);}cvReleaseCapture(&capture1);cvReleaseCapture(&capture2);return 0;
}int main()
{//main1();VideoCapture ML(0);VideoCapture  MR(1);ML.set(CV_CAP_PROP_FRAME_WIDTH, 320);ML.set(CV_CAP_PROP_FRAME_HEIGHT, 240);MR.set(CV_CAP_PROP_FRAME_WIDTH, 320);MR.set(CV_CAP_PROP_FRAME_HEIGHT, 240);Mat viewL, viewR;while (1){ML >> viewL;MR >> viewR;resize(viewR, viewR, Size(640, 480));resize(viewL, viewL, Size(640, 480));if (viewL.data && viewR.data){imshow("viewL", viewL);imshow("viewR", viewR);waitKey(3);}}return 0;
}

3,双目有一个USB接口

#include <opencv2\opencv.hpp>
#include <iostream>
#include <Windows.h>using namespace cv;
using namespace std;int main()
//int main()
{VideoCapture m_InputCapture(0);m_InputCapture.set(CV_CAP_PROP_FRAME_WIDTH, 1280);m_InputCapture.set(CV_CAP_PROP_FRAME_HEIGHT, 480);Mat view0, m_mView;while (!m_InputCapture.isOpened()){Sleep(2);cout << "cannot open the camera!" << endl;}for (;;){m_InputCapture >> view0;view0.copyTo(m_mView);Mat mLeftView = m_mView(cv::Rect(0, 0, 640, 480));Mat mRightView = m_mView(cv::Rect(640, 0, 640, 480));imshow("cameraR", mRightView);imshow("cameraL", mLeftView);waitKey(1);}return 0;
}

opencv打开双目相关推荐

  1. OpenCV 打开双目摄像头(python版)

    前言 本文主要介绍在OpenCV用使用双目摄像头,包括:打开单目摄像头.设置摄像头参数.拍照.录制视频. 环境:编程语言:Python3        主要依赖库:OpenCV3.x 或 OpenCV ...

  2. opencv打开双目摄像头

    最近朋友请教了我一些双目摄像头的问题,小编在这里经过查阅资料给出一段程序,,有人说用directshow来实现,有人说直接可以用opencv读取多个摄像头.那么,既然opencv能实现,为什么还要装其 ...

  3. c++利用opencv打开摄像头并且保存图片

    c++利用opencv打开双目摄像头并且保存图片 项目背景 打开双目相机的函数 保存图片函数Save 全部代码 项目背景 利用一个usb双目摄像机进行双目测距的项目,这个项目代码有助于使用usb双目摄 ...

  4. opencv python打开双目摄像头

    在python下使用opencv打开摄像头的函数为:cv2.VideoCapture(index) #index为摄像头标号 默认情况电脑自带摄像头索引为0,外置为1.2.3-,但是我的没有自带摄像头 ...

  5. 【opencv学习】完全基于opencv的双目景深与测距的实现

    目录 目录 说明 双目测距原理 opencv实现双目测距的原理 双目测距代码说明 双目测距的代码和实现 接下来 1 说明 怕以后忘了,现在总结一下前一段时间一直在弄的,有关双目视觉的东西. 双目视觉的 ...

  6. 通过Opencv打开指定摄像头的方法

    我们使用Opencv打开摄像头,一般是使用VideoCapture的open接口. CV_WRAP virtual bool open(int index); open接口要传入一个标识符,如果只有1 ...

  7. ROS+Opencv的双目相机标定和orbslam双目参数匹配

    本文承接ROS调用USB双目摄像头模组 目录 先完成单目标定 双目标定 生成可用于ORB-SLAM2的yaml文件 生成可用于ORB-SLAM3的yaml文件 参考 按照上面链接配置好后,执行 ros ...

  8. python opencv打开摄像头

    opencv打开摄像头 import cv2 cap = cv2.VideoCapture(0) while True:ret, frame = cap.read()frame = cv2.flip( ...

  9. OPENCV打开图片进行边缘检测

    OPENCV打开图片并且进行边缘检测 #ifdef _CH_ #pragma package <opencv> #endif#ifndef _EiC #include "cv.h ...

  10. opencv打开摄像头采集和保存

    纯粹是自娱自乐,并没有对opencv的使用进行深入的学习,用opencv打开视频文件或者打开摄像头采集,然后保存,这也是最基础的东西. 一.安装配置环境 VS2008下安装配置opencv,2005. ...

最新文章

  1. 一行代码引来的安全漏洞就让我们丢失了整个服务器的控制权
  2. 从本机发送信息到另一台服务器上时中文乱码
  3. python 将数组中取某一值的元素全部替换为其他元素的方法
  4. 一文搞懂深度优先搜索、广度优先搜索(dfs、bfs)
  5. 功夫熊孟军贤:如何拿到10万种子用户,创业的经验分享
  6. CF1142C U2(计算几何,凸包)
  7. 吃了一辈子大米,你还在相信水稻种水里是因为喜欢水?
  8. [有限元]桁架结构中杆单元的节点序号和单元序号的确定依据
  9. 会议容易中吗_【留学评估】美国留学后就业真的和想象中的一样容易吗?
  10. 监控SQL:通过SQL Server的DDL触发器来监控数据库结构的变化(1)
  11. zookeeper + dubbo 搭建
  12. java 数据类型转换
  13. chrome axure 插件安装
  14. 大华C++客户端面经
  15. 银行业务系统数据库设计与实现
  16. 树莓派+英特尔神经网络计算棒
  17. realme有升级到android10的,RealmeX/Q将升级安卓10底层刷机包
  18. 互联网周刊:深度分析云计算
  19. 刀片服务器型号规格,刀片服务器是什么,刀片服务器规格统一好不好
  20. JSON.parse解析失败(报错,出错)

热门文章

  1. shield tv android tv,NVIDIA老机顶盒SHIELD TV升级安卓7.0:国行眼巴巴
  2. c语言给出太多参数,C语言中不定参数的实现
  3. 去除标题_1688如何通过黄金标题引爆流量?
  4. sap 双计量单位_SAP双计量单位配置指南CUNI.doc
  5. php微信公众号项目域名,微信公众号里“JS接口域名”实现分享功能
  6. java 表格升序排列_用JS实现表格的排序
  7. appnode报错_appnode
  8. golang key map 所有_Golang语言小技巧(踩坑)
  9. mysql 并发_MySQL多版本并发控制机制(MVCC)源码浅析
  10. Goland 学习笔记之--govendor