From cb6fb66dcf45d1684f8ccee4f4018930f6407ab0 Mon Sep 17 00:00:00 2001 From: Florian Tschopp Date: Mon, 3 Feb 2020 15:32:20 +0100 Subject: [PATCH] Fix/18.04 (#241) * switch to PIL library for Image * deactivate threading for cv image displays * Update MulticamGraph.py Preserve some backward compatibility with older python versions. * fix opencv windows * add option to manually input forcal length * remove debug option * PR review @lbern * switch to double in the first place * Revert "Merge pull request #304 from ethz-asl/feature/input_focal_length_guess" This reverts commit 2999e186ece1799cb6fd994f3cf23c6ef53e5d6f, reversing changes made to ee2b09d5cc00bf5c21dec6e30902593e0574cad0. Co-authored-by: Hannes Sommer --- aslam_cv/aslam_cameras/src/GridDetector.cpp | 3 +-- .../src/GridCalibrationTargetAprilgrid.cpp | 5 ++--- .../python/kalibr_camera_calibration/CameraCalibrator.py | 7 +++++-- .../python/kalibr_camera_calibration/MulticamGraph.py | 5 ++++- 4 files changed, 12 insertions(+), 8 deletions(-) diff --git a/aslam_cv/aslam_cameras/src/GridDetector.cpp b/aslam_cv/aslam_cameras/src/GridDetector.cpp index 93c2b237e..91b716c04 100644 --- a/aslam_cv/aslam_cameras/src/GridDetector.cpp +++ b/aslam_cv/aslam_cameras/src/GridDetector.cpp @@ -32,8 +32,7 @@ GridDetector::GridDetector(boost::shared_ptr geometry, void GridDetector::initializeDetector() { if (_options.plotCornerReprojection) { - cv::namedWindow("Corner reprojection"); - cvStartWindowThread(); + cv::namedWindow("Corner reprojection", cv::WINDOW_NORMAL); } } diff --git a/aslam_cv/aslam_cameras_april/src/GridCalibrationTargetAprilgrid.cpp b/aslam_cv/aslam_cameras_april/src/GridCalibrationTargetAprilgrid.cpp index 277ee2199..44420e621 100644 --- a/aslam_cv/aslam_cameras_april/src/GridCalibrationTargetAprilgrid.cpp +++ b/aslam_cv/aslam_cameras_april/src/GridCalibrationTargetAprilgrid.cpp @@ -56,9 +56,8 @@ GridCalibrationTargetAprilgrid::GridCalibrationTargetAprilgrid() : void GridCalibrationTargetAprilgrid::initialize() { if (_options.showExtractionVideo) { - cv::namedWindow("Aprilgrid: Tag detection"); - cv::namedWindow("Aprilgrid: Tag corners"); - cvStartWindowThread(); + cv::namedWindow("Aprilgrid: Tag detection", cv::WINDOW_NORMAL); + cv::namedWindow("Aprilgrid: Tag corners", cv::WINDOW_NORMAL); } //create the tag detector diff --git a/aslam_offline_calibration/kalibr/python/kalibr_camera_calibration/CameraCalibrator.py b/aslam_offline_calibration/kalibr/python/kalibr_camera_calibration/CameraCalibrator.py index a191d2913..cba2c186c 100644 --- a/aslam_offline_calibration/kalibr/python/kalibr_camera_calibration/CameraCalibrator.py +++ b/aslam_offline_calibration/kalibr/python/kalibr_camera_calibration/CameraCalibrator.py @@ -598,8 +598,11 @@ def printParameters(cself, dest=sys.stdout): corners, reprojs, rerrs = getReprojectionErrors(cself, cidx) if len(rerrs)>0: me, se = getReprojectionErrorStatistics(rerrs) - print >> dest, "\t reprojection error: [%f, %f] +- [%f, %f]" % (me[0], me[1], se[0], se[1]) - print >> dest + try: + print >> dest, "\t reprojection error: [%f, %f] +- [%f, %f]" % (me[0], me[1], se[0], se[1]) + except: + print >> dest, "\t Failed printing the reprojection error." + print >> dest #print baselines for bidx, baseline in enumerate(cself.baselines): diff --git a/aslam_offline_calibration/kalibr/python/kalibr_camera_calibration/MulticamGraph.py b/aslam_offline_calibration/kalibr/python/kalibr_camera_calibration/MulticamGraph.py index fdfd0d95f..d70e665ff 100644 --- a/aslam_offline_calibration/kalibr/python/kalibr_camera_calibration/MulticamGraph.py +++ b/aslam_offline_calibration/kalibr/python/kalibr_camera_calibration/MulticamGraph.py @@ -9,7 +9,10 @@ import itertools import sys import pylab as pl -import Image +try: + from PIL import Image # Modern +except ImportError: + import Image # Old import (backward compatibility) import time # make numpy print prettier