54 lines
		
	
	
		
			1.7 KiB
		
	
	
	
		
			C++
		
	
	
	
	
	
			
		
		
	
	
			54 lines
		
	
	
		
			1.7 KiB
		
	
	
	
		
			C++
		
	
	
	
	
	
//////////////////////////////////////////////////////
 | 
						|
// Sample illustrating the use of the VideoCapture  //
 | 
						|
// interface in combination with PvAPI interface    //
 | 
						|
//                                                  //
 | 
						|
// Succesfully tested on Prosilica and Manta series //
 | 
						|
//////////////////////////////////////////////////////
 | 
						|
 | 
						|
// --------------------------------------------------------------------------------
 | 
						|
// Some remarks for ensuring the correct working of the interface between camera
 | 
						|
// and the pc from which you will capture data - Linux based settings. The settings
 | 
						|
// for Windows are the same, but edited in the graphical interface of the
 | 
						|
// network card.
 | 
						|
//
 | 
						|
// You have to be sure that OpenCV is built with the PvAPI interface enabled.
 | 
						|
//
 | 
						|
// FIRST CONFIGURE IP SETTINGS
 | 
						|
// - Change the IP address of your pc to 169.254.1.1
 | 
						|
// - Change the subnet mask of your pc to 255.255.0.0
 | 
						|
// - Change the gateway of your pc to 169.254.1.2
 | 
						|
//
 | 
						|
// CHANGE SOME NETWORK CARD SETTINGS
 | 
						|
// - sudo ifconfig eth0 mtu 9000 - or 9016 ideally if your card supports that
 | 
						|
// --------------------------------------------------------------------------------
 | 
						|
 | 
						|
#include <iostream>
 | 
						|
#include "opencv2/opencv.hpp"
 | 
						|
 | 
						|
using namespace std;
 | 
						|
using namespace cv;
 | 
						|
 | 
						|
int main()
 | 
						|
{
 | 
						|
    // Capturing multiple AVT cameras can be done by simply initiating
 | 
						|
    // two VideoCaptures after eachother.
 | 
						|
    VideoCapture camera1(0 + CV_CAP_PVAPI);
 | 
						|
    VideoCapture camera2(0 + CV_CAP_PVAPI);
 | 
						|
    Mat frame1, frame2;
 | 
						|
 | 
						|
    for(;;){
 | 
						|
        camera1 >> frame1;
 | 
						|
        camera2 >> frame2;
 | 
						|
 | 
						|
        imshow("camera 1 frame", frame1);
 | 
						|
        imshow("camera 2 frame", frame2);
 | 
						|
 | 
						|
        int key = waitKey(10);
 | 
						|
        if(key == 27){
 | 
						|
            break;
 | 
						|
        }
 | 
						|
    }
 | 
						|
 | 
						|
    return 0;
 | 
						|
}
 |