30 #include <opencv2/opencv.hpp> 
   40 #define USE_HALF_SIZE_DISPARITY 
   72 int main(
int argc, 
char *argv[])
 
   95         std::cerr << 
"Cannot open camera video capture" << std::endl;
 
   96         std::cerr << 
"See verbosity level for more details." << std::endl;
 
  101     std::cout << 
"Connected to camera sn: " << sn << std::endl;
 
  105     std::string calibration_file;
 
  107     unsigned int serial_number = sn;
 
  111         std::cerr << 
"Could not load calibration file from Stereolabs servers" << std::endl;
 
  114     std::cout << 
"Calibration file found. Loading..." << std::endl;
 
  122     cv::Mat map_left_x, map_left_y;
 
  123     cv::Mat map_right_x, map_right_y;
 
  124     cv::Mat cameraMatrix_left, cameraMatrix_right;
 
  126                                   cameraMatrix_left, cameraMatrix_right);
 
  128     std::cout << 
" Camera Matrix L: \n" << cameraMatrix_left << std::endl << std::endl;
 
  129     std::cout << 
" Camera Matrix R: \n" << cameraMatrix_right << std::endl << std::endl;
 
  139         if(frame.
data!=
nullptr)
 
  167 #ifdef USE_HALF_SIZE_DISPARITY 
  240         int key = cv::waitKey( 5 );
 
  241         if(key==
'q' || key==27) 
 
  243             std::cout << 
"Save current stereo parameters? [Y/N]" << std::endl;
 
  244             key = cv::waitKey(-1);
 
  245             if(key==
'Y' || key==
'y')
 
  251         if(key==
'l' || key==
'L') 
 
  283         if(key==
's' || key==
'S') 
 
  288         if(key==
'r' || key==
'R') 
 
  319 #ifdef USE_HALF_SIZE_DISPARITY 
  338 #ifdef USE_HALF_SIZE_DISPARITY 
  342     std::cout << 
"Start stereo matching..." << std::endl;
 
  344     std::cout << 
"... finished stereo matching" << std::endl;
 
  346     double elapsed = stereo_clock.
toc();
 
  347     std::cout << 
"Stereo processing: " << elapsed << 
" sec - Freq: " << 1./elapsed << std::endl;
 
  353 #ifdef USE_HALF_SIZE_DISPARITY 
  367     if(newBlockSize%2!=1)
 
  423     if(newNumDisparities%16!=0)
 
  426             newNumDisparities = newNumDisparities/16;
 
  428             newNumDisparities = newNumDisparities/16 + 1;
 
  429         newNumDisparities*=16;
 
  458     std::cout << 
"New 'mode' value: " << 
stereoPar.
mode << std::endl;
 
The VideoCapture class provides image grabbing functions and settings control for all the Stereolabs ...
 
const Frame & getLastFrame(uint64_t timeout_msec=100)
Get the last received camera image.
 
void getFrameSize(int &width, int &height)
Get the size of the camera frame.
 
bool initializeVideo(int devId=-1)
Open a ZED camera using the specified ID or searching for the first available.
 
int getSerialNumber()
Retrieve the serial number of the connected camera.
 
@ FPS_30
30 Frames per second. Not available for RESOLUTION::HD2K.
 
The Frame struct containing the acquired video frames.
 
uint16_t height
Frame height.
 
uint16_t width
Frame width.
 
uint8_t * data
Frame data in YUV 4:2:2 format.
 
The camera configuration parameters.
 
RESOLUTION res
Camera resolution.
 
FPS fps
Frames per second.
 
int main(int argc, char *argv[])
 
sl_oc::tools::StereoSgbmPar stereoPar
 
std::string preFiltDispWinName
 
void on_trackbar_mode(int newMode, void *)
 
void on_trackbar_speckleRange(int newSpeckleRange, void *)
 
void on_trackbar_num_disparities(int newNumDisparities, void *)
 
sl_oc::video::VideoParams params
 
void applyStereoMatching()
 
cv::Mat right_for_matcher
 
void on_trackbar_min_disparities(int newMinDisparities, void *)
 
void on_trackbar_preFilterCap(int newPreFilterCap, void *)
 
void on_trackbar_disp12MaxDiff(int newDisp12MaxDiff, void *)
 
void on_trackbar_block_size(int newBlockSize, void *)
 
void on_trackbar_uniquenessRatio(int newUniquenessRatio, void *)
 
void on_trackbar_speckleWindowSize(int newSpeckleWindowSize, void *)
 
cv::Ptr< cv::StereoSGBM > left_matcher