dice icon indicating copy to clipboard operation
dice copied to clipboard

The calibration image shows only one file

Open chihyu722 opened this issue 4 years ago • 3 comments

Hello DICe developers, when I imported my checkerboard image, I found that there was only one file at the bottom right (select files to skip).

The result of my clicking on "calibrate" was over soon, and the distortion value was too large (When I pull the preview axis at the bottom right, it shows images of different files). I'm not sure if the file format is a problem or there are other settings I haven't noticed.

v2.0-beta.16

cal_imag


calibration result: Console output:

opencv_checkerboard_targets(): found 70 checkerboard intersections

** Digital Image Correlation Engine (DICe) ** v2.0 ** git: v2.0-beta.16 ** MPI: disabled ** Manycore: disabled ** Data type: double ** Copyright 2015 National Technology & Engineering Solutions of Sandia, LLC (NTESS) ** Report bugs and feature requests as issues at https://github.com/dicengine/dice

DICe_Cal begin

input file: C:\Users\User\dice_working_dir\cal_input.xml output file: C:\Users\User\dice_working_dir\cal.xml Calibration::init(): user specified input parameters: xml_file_format = DICe_xml_calibration_file [unused] image_folder = E:\CASE_\1003_calibration_VER2\cal_imag25\ [unused] image_file_extension = .bmp [unused] image_file_prefix = cal_ [unused] reference_image_index = 1 [unused] start_image_index = 1 [unused] end_image_index = 25 [unused] skip_image_index = 1 [unused] num_file_suffix_digits = 1 [unused] pose_estimation_index = 0 [unused] cal_target_type = CHECKER_BOARD [unused] cal_target_spacing_size = 23 [unused] num_cal_fiducials_x = 10 [unused] num_cal_fiducials_y = 7 [unused] draw_intersection_image = 1 [unused] cal_debug_folder = C:\Users\User\dice_working_dir\ [unused] threshold_start = 100 [unused] threshold_end = 100 [unused] threshold_step = 100 [unused] use_adaptive_threshold = 0 [unused] cal_opencv_options -> CALIB_FIX_INTRINSIC = 0 [unused] CALIB_USE_INTRINSIC = 1 [unused] CALIB_USE_EXTRINSIC = 0 [unused] CALIB_FIX_PRINCIPAL_POINT = 0 [unused] CALIB_FIX_ASPECT_RATIO = 0 [unused] CALIB_SAME_FOCAL_LENGTH = 0 [unused] CALIB_ZERO_TANGENT_DIST = 1 [unused] CALIB_FIX_K1 = 0 [unused] CALIB_FIX_K2 = 0 [unused] CALIB_FIX_K3 = 0 [unused] warning: ignoring invalid calibration option: CALIB_USE_INTRINSIC warning: ignoring invalid calibration option: CALIB_USE_EXTRINSIC Calibration::calibrate(): extracting the target points because they have not been initialized Calibration::extract_target_points(): target type is CHECKER_BOARD Calibration::extract_checkerboard_intersections(): extracting intersections Calibration::extract_checkerboard_intersections(): processing checkerboard cal image: E:\CASE_\1003_calibration_VER2\cal_imag25\cal_1.bmp opencv_checkerboard_targets(): found 70 checkerboard intersections Calibration::extract_checkerboard_intersections(): processing checkerboard cal image: E:\CASE_\1003_calibration_VER2\cal_imag25\cal_2.bmp opencv_checkerboard_targets(): found 70 checkerboard intersections Calibration::extract_checkerboard_intersections(): processing checkerboard cal image: E:\CASE_\1003_calibration_VER2\cal_imag25\cal_3.bmp opencv_checkerboard_targets(): found 70 checkerboard intersections Calibration::extract_checkerboard_intersections(): processing checkerboard cal image: E:\CASE_\1003_calibration_VER2\cal_imag25\cal_4.bmp opencv_checkerboard_targets(): found 70 checkerboard intersections Calibration::extract_checkerboard_intersections(): processing checkerboard cal image: E:\CASE_\1003_calibration_VER2\cal_imag25\cal_5.bmp opencv_checkerboard_targets(): found 70 checkerboard intersections Calibration::extract_checkerboard_intersections(): processing checkerboard cal image: E:\CASE_\1003_calibration_VER2\cal_imag25\cal_6.bmp opencv_checkerboard_targets(): found 70 checkerboard intersections Calibration::extract_checkerboard_intersections(): processing checkerboard cal image: E:\CASE_\1003_calibration_VER2\cal_imag25\cal_7.bmp opencv_checkerboard_targets(): found 70 checkerboard intersections Calibration::extract_checkerboard_intersections(): processing checkerboard cal image: E:\CASE_\1003_calibration_VER2\cal_imag25\cal_8.bmp opencv_checkerboard_targets(): found 70 checkerboard intersections Calibration::extract_checkerboard_intersections(): processing checkerboard cal image: E:\CASE_\1003_calibration_VER2\cal_imag25\cal_9.bmp opencv_checkerboard_targets(): found 70 checkerboard intersections Calibration::extract_checkerboard_intersections(): processing checkerboard cal image: E:\CASE_\1003_calibration_VER2\cal_imag25\cal_10.bmp opencv_checkerboard_targets(): found 70 checkerboard intersections Calibration::extract_checkerboard_intersections(): processing checkerboard cal image: E:\CASE_\1003_calibration_VER2\cal_imag25\cal_11.bmp opencv_checkerboard_targets(): found 70 checkerboard intersections Calibration::extract_checkerboard_intersections(): processing checkerboard cal image: E:\CASE_\1003_calibration_VER2\cal_imag25\cal_12.bmp opencv_checkerboard_targets(): found 70 checkerboard intersections Calibration::extract_checkerboard_intersections(): processing checkerboard cal image: E:\CASE_\1003_calibration_VER2\cal_imag25\cal_13.bmp opencv_checkerboard_targets(): found 70 checkerboard intersections Calibration::extract_checkerboard_intersections(): processing checkerboard cal image: E:\CASE_\1003_calibration_VER2\cal_imag25\cal_14.bmp opencv_checkerboard_targets(): found 70 checkerboard intersections Calibration::extract_checkerboard_intersections(): processing checkerboard cal image: E:\CASE_\1003_calibration_VER2\cal_imag25\cal_15.bmp opencv_checkerboard_targets(): found 70 checkerboard intersections Calibration::extract_checkerboard_intersections(): processing checkerboard cal image: E:\CASE_\1003_calibration_VER2\cal_imag25\cal_16.bmp opencv_checkerboard_targets(): found 70 checkerboard intersections Calibration::extract_checkerboard_intersections(): processing checkerboard cal image: E:\CASE_\1003_calibration_VER2\cal_imag25\cal_17.bmp opencv_checkerboard_targets(): found 70 checkerboard intersections Calibration::extract_checkerboard_intersections(): processing checkerboard cal image: E:\CASE_\1003_calibration_VER2\cal_imag25\cal_18.bmp opencv_checkerboard_targets(): found 70 checkerboard intersections Calibration::extract_checkerboard_intersections(): processing checkerboard cal image: E:\CASE_\1003_calibration_VER2\cal_imag25\cal_19.bmp opencv_checkerboard_targets(): found 70 checkerboard intersections Calibration::extract_checkerboard_intersections(): processing checkerboard cal image: E:\CASE_\1003_calibration_VER2\cal_imag25\cal_20.bmp opencv_checkerboard_targets(): found 70 checkerboard intersections Calibration::extract_checkerboard_intersections(): processing checkerboard cal image: E:\CASE_\1003_calibration_VER2\cal_imag25\cal_21.bmp opencv_checkerboard_targets(): found 70 checkerboard intersections Calibration::extract_checkerboard_intersections(): processing checkerboard cal image: E:\CASE_\1003_calibration_VER2\cal_imag25\cal_22.bmp opencv_checkerboard_targets(): found 70 checkerboard intersections Calibration::extract_checkerboard_intersections(): processing checkerboard cal image: E:\CASE_\1003_calibration_VER2\cal_imag25\cal_23.bmp opencv_checkerboard_targets(): found 70 checkerboard intersections Calibration::extract_checkerboard_intersections(): processing checkerboard cal image: E:\CASE_\1003_calibration_VER2\cal_imag25\cal_24.bmp opencv_checkerboard_targets(): found 70 checkerboard intersections Calibration::extract_checkerboard_intersections(): processing checkerboard cal image: E:\CASE_\1003_calibration_VER2\cal_imag25\cal_25.bmp opencv_checkerboard_targets(): found 70 checkerboard intersections Calibration::calibrate(): performing OpenCV calibration

RMS error: 0.35495

---------- Camera System ---------- num cameras: 1 max num cameras allowed: 10 system type: OPENCV extrinsics world to cam 0 has 6 transform: 0 6 transform 0 0 0 0 0 0 has 4x4 transform: 0 user 4x4 transorm:

--- Matrix ---

value type: double active dims: (4x4) storage dims: (4x4)

0: 0.00000e+000 0.00000e+000 0.00000e+000 0.00000e+000 1: 0.00000e+000 0.00000e+000 0.00000e+000 0.00000e+000 2: 0.00000e+000 0.00000e+000 0.00000e+000 0.00000e+000 3: 0.00000e+000 0.00000e+000 0.00000e+000 0.00000e+000

---------- Camera ---------- id: comments: image height: 1024 image width: 1280 pixel depth: -1 lens: lens distortion model: OPENCV_LENS_DISTORTION CX 668.24 CY 371.74 FX 4888.7 FY 4899.8 FS 0 K1 -0.6853 K2 51.944 K3 -1727.9 K4 0 K5 0 K6 0 P1 0 P2 0 S1 0 S2 0 S3 0 S4 0 T1 0 T2 0 rotation matrix:

--- Matrix ---

value type: double active dims: (3x3) storage dims: (3x3)

0: 9.99221e-001 -9.81855e-003 3.82142e-002 1: -8.86823e-003 -9.99649e-001 -2.49586e-002 2: 3.84459e-002 2.46003e-002 -9.98958e-001

ext translations: 1.0627 224.81 2978.5

cam to world:

--- Matrix ---

value type: double active dims: (4x4) storage dims: (4x4)

0: 9.99221e-001 -8.86823e-003 3.84459e-002 -1.13581e+002 1: -9.81855e-003 -9.99649e-001 2.46003e-002 1.51471e+002 2: 3.82142e-002 -2.49586e-002 -9.98958e-001 2.98100e+003 3: -9.32414e-017 5.42101e-019 -6.93889e-018 1.00000e+000

world to cam:

--- Matrix ---

value type: double active dims: (4x4) storage dims: (4x4)

0: 9.99221e-001 -9.81855e-003 3.82142e-002 1.06273e+000 1: -8.86823e-003 -9.99649e-001 -2.49586e-002 2.24813e+002 2: 3.84459e-002 2.46003e-002 -9.98958e-001 2.97854e+003 3: 0.00000e+000 0.00000e+000 0.00000e+000 1.00000e+000



DICe_Cal complete

chihyu722 avatar Oct 08 '21 08:10 chihyu722

It's possible that there is an issue with the file naming convention since you have the number of digits in number set to 1, but there are 25 images. You may need to rename the first 10 files cal_01.bmp, cal_02.bmp, etc. and set the number of digits to 2. See if that works.

dicengine avatar Oct 10 '21 18:10 dicengine

After I changed the file name, the file I imported appears at the bottom right. When I click on "calibrate", the results are also quickly obtained and the distortion values are too large. There is no rms error value in the select files to skip area.

123

chihyu722 avatar Oct 11 '21 02:10 chihyu722

I'm not sure if individual scores are provided for each image if the checkerboard pattern is used. An rms error of <0.5 seems like you have a good calibration already. Do your intrinsic and extrinsic parameters from the calibration using all images look okay? You might not need to skip any of the images.

dicengine avatar Oct 11 '21 15:10 dicengine