C++_Opencv 4.0+_读取_双目摄像头

文章介绍一种双目摄像头左右镜头图像读取方法

摄像头型号:HBV-1780-2 S2.0

环境:Win11、VS2019、Opencv4.0+

摄像头购买于淘宝商家,商家提供了图像采集示例程序。程序中给出了几种分辨率,不同的分辨率会影响摄像头的图像是单镜头图像还是双镜头组合图像。我们选择宽度分辨率较大的模式即可看到两颗摄像头共同返回的图像(记住可以同时看见两颗摄像头返回图像的分辨率大小,后续在设置摄像头参数时将会使用到)。

实现功能:

分离左右摄像头图像,并自由返回。

以下为功能实现代码:

#include 
#include 
#include 
#include 
#include 
#include 

using namespace cv;
using namespace std;

VideoCapture cap(1);



/*****************************************/
//camera preprocessing
//    return :
//        none 
void Pre_Camera() {
	cap.set(CAP_PROP_FRAME_WIDTH, 1280);    //Set camera width dpi
	cap.set(CAP_PROP_FRAME_HEIGHT, 360);    //Set camera height dpi
	cap.set(CAP_PROP_FPS, 30);              //set camera fps
}



/*****************************************/
//image preprocessing
//    interface :
//        (Mat) left lens image : Pic_Left_return()
//        (Mat) right lens image : Pic_Right_return()
class pre {
private:
	Mat Pic_All;                //original bi-camera image
	Mat Pic_Left;               //left devide
	Mat Pic_Right;              //right devide
public:
	pre(){}
	void pic_devide(Mat img);   //devide into two
	Mat Pic_Left_return();		//return left part image
	Mat Pic_Right_return();     //return right part image
	void show();                //show all parts of image
	~pre(){}
}Pre_process;

//devide into two
void pre::pic_devide(Mat img) {
	Pic_All = img.clone();
	Pic_Left = img(Rect(Point(0, 0), Point(img.cols / 2, img.rows))).clone();
	Pic_Right = img(Rect(Point(img.cols / 2, 0), Point(img.cols, img.rows))).clone();
}
//return left part image
Mat pre::Pic_Left_return() {
	return Pic_Left;
}
//return right part image
Mat pre::Pic_Right_return() {
	return Pic_Right;
}
//show all parts of image
void pre::show() {
	imshow("Left", Pic_Left);
	imshow("Right", Pic_Right);
	imshow("All", Pic_All);
}



int main() {
	Pre_Camera();
	Mat zong;

	while (1) {
		cap >> zong;
		Pre_process.pic_devide(zong);
		Pre_process.show();
		if (waitKey(1) > 0) break;
	}

	cap.release();
	return 0;
}

你可能感兴趣的:(基础使用,c++,opencv,计算机视觉,图像处理)