MCPcopy Create free account
hub / github.com/UZ-SLAMLab/ORB_SLAM3 / ParseCamParamFile

Method ParseCamParamFile

src/Tracking.cc:619–1215  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

617}
618
619bool Tracking::ParseCamParamFile(cv::FileStorage &fSettings)
620{
621 mDistCoef = cv::Mat::zeros(4,1,CV_32F);
622 cout << endl << "Camera Parameters: " << endl;
623 bool b_miss_params = false;
624
625 string sCameraName = fSettings["Camera.type"];
626 if(sCameraName == "PinHole")
627 {
628 float fx, fy, cx, cy;
629 mImageScale = 1.f;
630
631 // Camera calibration parameters
632 cv::FileNode node = fSettings["Camera.fx"];
633 if(!node.empty() && node.isReal())
634 {
635 fx = node.real();
636 }
637 else
638 {
639 std::cerr << "*Camera.fx parameter doesn't exist or is not a real number*" << std::endl;
640 b_miss_params = true;
641 }
642
643 node = fSettings["Camera.fy"];
644 if(!node.empty() && node.isReal())
645 {
646 fy = node.real();
647 }
648 else
649 {
650 std::cerr << "*Camera.fy parameter doesn't exist or is not a real number*" << std::endl;
651 b_miss_params = true;
652 }
653
654 node = fSettings["Camera.cx"];
655 if(!node.empty() && node.isReal())
656 {
657 cx = node.real();
658 }
659 else
660 {
661 std::cerr << "*Camera.cx parameter doesn't exist or is not a real number*" << std::endl;
662 b_miss_params = true;
663 }
664
665 node = fSettings["Camera.cy"];
666 if(!node.empty() && node.isReal())
667 {
668 cy = node.real();
669 }
670 else
671 {
672 std::cerr << "*Camera.cy parameter doesn't exist or is not a real number*" << std::endl;
673 b_miss_params = true;
674 }
675
676 // Distortion parameters

Callers

nothing calls this directly

Calls 4

AddCameraMethod · 0.80
emptyMethod · 0.45
resizeMethod · 0.45
getParameterMethod · 0.45

Tested by

no test coverage detected