Closed szymek1 closed 2 years ago
I will answer by myself. It turned out that when the instruction says: "Modify the parameters in ARToolKitCalibrationFileGenerator.cpp
using the results of previous calibration" it means to only update values of weights in float[3][4]
and float dist[4]
, however for the first array [3][4] it means leaving the last column always to 0 and for dist[4] we have to add first 4 values from OpenCV calibration file(distortion parameters).
Hello, I've recently made, with 37 images, the calibration for HoloLens2 camera. After that when I deploy my program which uses cube scene, there is no detection. The cube that should follow my real cube with tags on them just stays in one place. There are several suspicions of mine why it is like this:
Conversion from OpenCV format to ARToolkit format: I think it is slightly unclear what does @qian256 mean when he says: "Modify the parameters in
ARToolKitCalibrationFileGenerator.cpp
using the results of previous calibration"(from instruction for calibration). The way I modifiedARToolKitCalibrationFileGenerator.cpp
is in main where I changedfloat[3][4]
tofloat[3][3]
as in my file from OpenCV there was no 4th column. I also replacedfloat dist[4]
withfloat dist[5]
as there was one more column to add. This modification made me to correctconvParam
function. I am not sure of this modification but as I said it wasn't clear for me jusy by reading teh instruction.I used 37 images, captured directly from HL2 and then I reshaped them to 1504x846 resolution but once again in
ARToolKitCalibrationFileGenerator.cpp
inside main function there is a condition that changes the rosolution whatsoever ifxsize
is not dividible by 64. Why is it like this? WhenARToolKitCalibrationFileGenerator.cpp
finishes its job it returns thatxsize=1536
, that makes very little sense to me as in unity we selelect 1504x846 resolution inARUWP Controller
.I will very much appreciate any help!