|
20鱼币
我买了一个opencv的双目摄像头 同时启动,可是运行以后我的笔记本摄像头一直在闪烁,无法启动双目摄像头 #if 1//运行前改成1
#include<opencv2/opencv.hpp>
#include<stdlib.h>
#include <opencv2/highgui/highgui_c.h>
using namespace cv;
using namespace std;
int main()
{
Mat frame1, frame2;
VideoCapture cap1, cap2;
int cont = 0;
while (frame1.rows < 2)
{
cap1.open(700);
cap1.set(CAP_PROP_FOURCC, 'GPJM');
cap1.set(CAP_PROP_FRAME_WIDTH, 320);
cap1.set(CAP_PROP_FRAME_HEIGHT, 240);
cont = 0;
while (frame1.rows < 2 && cont < 5)
{
cap1 >> frame1;
cont++;
}
}
while (frame2.rows < 2)
{
cap2.open(701);
cap2.set(CAP_PROP_FOURCC, 'GPJM');
cap2.set(CAP_PROP_FRAME_WIDTH, 320);
cap2.set(CAP_PROP_FRAME_HEIGHT, 240);
cont = 0;
while (frame2.rows < 2 && cont < 5)
{
cap2 >> frame2;
cont++;
}
}
while (true)
{
cap1 >> frame1;
cap2 >> frame2;
cap1.open(1); //打开摄像头
cap2.open(1); //打开摄像头
//cap.open("rtsp://root:000000@169.254.246.218/axis-media/media.amp");
if (!cap1.isOpened()&& !cap2.isOpened())//如果视频不能正常打开则返回
return 0;
cvWaitKey(30);
imshow("cap1", frame1);
imshow("cap2", frame2);
}
return 0;
}
#endif
附上能启动一个的代码//#if 1//运行前改成1
//#include<opencv2/opencv.hpp>
//#include<stdlib.h>
//#include <opencv2/highgui/highgui_c.h>
//using namespace cv;
//using namespace std;
//
//int main()
//{
// VideoCapture cap;
// cap.open(1); //打开摄像头
// //cap.open("rtsp://root:000000@169.254.246.218/axis-media/media.amp");
// if (!cap.isOpened())//如果视频不能正常打开则返回
// return 0;
// cvWaitKey(30);
// Mat frame;//用于保存每一帧图像
// cap >> frame;
//
// imshow("hello world", frame);
// cvWaitKey(300);
// //system("C:"Program Files (x86)""CHUSEI 3D Webcam""CHUSEI 3D Webcam.exe"");
//
// char buf[30] = { 0 }; //保存路径变量
//
// while (1)
// {
// cap >> frame; //等价于cap.read(frame);
// if (frame.empty()) //如果某帧为空则退出循环
// break;
//
// imshow("【双目原始视图】", frame); //显示双目原始图像 原始分辨率为 640*480
//
// Mat DoubleImage;
//
// resize(frame, DoubleImage, Size(640, 240), (0, 0), (0, 0), INTER_AREA); // 纵向分辨率缩小一半
// imshow("【双目缩小视图】", DoubleImage); //显示图像
//
//
// Mat LeftImage = DoubleImage(Rect(0, 0, 320, 240)); //分割得到左视图
// Mat RightImage = DoubleImage(Rect(320, 0, 320, 240)); //分割得到右视图
//
// imshow("【左视图】", LeftImage); //显示左视图
// imshow("【右视图】", RightImage); //显示右视图
//
// char c = cvWaitKey(30);
// if (c == 27)//Esc键退出
// {
// break;
// }
//
// line(frame, cvPoint(200, 250), cvPoint(100, 400), cvScalar(255, 255, 0), 2);
// line(frame, cvPoint(400, 250), cvPoint(500, 400), cvScalar(255, 255, 0), 2);
// imshow("hello world", frame); //显示双目原始图像 原始分辨率为 640*480
// waitKey(1);
// Mat dst;
// cvtColor(frame, dst, COLOR_BGR2GRAY);
// GaussianBlur(dst, dst, Size(7, 7), 1.5, 1.5);
// Canny(dst, dst, 0, 30, 3);//边缘检测
// imshow("读取视频", dst);
// waitKey(1);//延时1ms
// }
// cap.release();//释放资源
//}
//
//
//#endif
|
|