@@ -736,11 +736,7 @@ void CameraParameters::detectCalibrationCorners() {
736
736
&& found_field
737
737
// check if intersection is on line segment
738
738
&& contains (rect_line1, p_intersection_field, 10 )
739
- && contains (rect_line2, p_intersection_field, 10 )
740
- && p_intersection_img_undistorted.x >= 0
741
- && p_intersection_img_undistorted.y >= 0
742
- && p_intersection_img_undistorted.x < additional_calibration_information->imageWidth ->getInt ()
743
- && p_intersection_img_undistorted.y < additional_calibration_information->imageHeight ->getInt ()) {
739
+ && contains (rect_line2, p_intersection_field, 10 )) {
744
740
cv::Point3d p_intersection_img_undistorted_3d (
745
741
p_intersection_img_undistorted.x , p_intersection_img_undistorted.y , 0 );
746
742
points_intersection_img_undistorted.push_back (p_intersection_img_undistorted_3d);
@@ -771,7 +767,16 @@ void CameraParameters::detectCalibrationCorners() {
771
767
intrinsic_parameters->dist_coeffs ,
772
768
points_img_intersect);
773
769
for (int i = 0 ; i < (int ) points_img_intersect.size (); i++) {
774
- extrinsic_parameters->addCalibrationPointSet (points_img_intersect[i], points_intersection_field[i]);
770
+ if (points_img_intersect[i].x >= 0
771
+ && points_img_intersect[i].y >= 0
772
+ && points_img_intersect[i].x < additional_calibration_information->imageWidth ->getInt ()
773
+ && points_img_intersect[i].y < additional_calibration_information->imageHeight ->getInt ()) {
774
+ extrinsic_parameters->addCalibrationPointSet (points_img_intersect[i], points_intersection_field[i]);
775
+ } else {
776
+ std::cout << " Calibration point outside image: "
777
+ << points_img_intersect[i]
778
+ << std::endl;
779
+ }
775
780
}
776
781
}
777
782
}
0 commit comments