GrpcPrint/PrintS/Config/bean/CameraCalibrationCfg.cpp
2024-03-19 17:45:12 +08:00

395 lines
14 KiB
C++

#include "CameraCalibrationCfg.h"
#include "BaseConfig.h"
#include "../../utils/StringHelper.h"
CameraCalibrationCfg::CameraCalibrationCfg()
{
m_HadCalibration = false;
m_CalibrationHPoints = 26;
m_CalibrationVPoints = 27;
m_CalibrationGridHSize = 10;
m_CalibrationGridVSize = 10;
m_CameraMatrix00=0.0;
m_CameraMatrix01=0.0;
m_CameraMatrix02=0.0;
m_CameraMatrix10=0.0;
m_CameraMatrix11=0.0;
m_CameraMatrix12=0.0;
m_CameraMatrix20=0.0;
m_CameraMatrix21=0.0;
m_CameraMatrix22=0.0;
m_DistCoeffs0=0.0;
m_DistCoeffs1=0.0;
m_DistCoeffs2=0.0;
m_DistCoeffs3=0.0;
m_DistCoeffs4=0.0;
m_FittingMagX = 20;
m_ImageTopLeftX=0;
m_ImageTopLeftY= 0;
m_ImageTopRightX= 0;
m_ImageTopRightY= 0;
m_ImageBottomLeftX= 0;
m_ImageBottomLeftY= 0;
m_ImageBottomRightX= 0;
m_ImageBottomRightY= 0;
m_PlatformTopLeftX=0;
m_PlatformTopLeftY=0;
m_PlatformTopRightX=0;
m_PlatformTopRightY=0;
m_PlatformBottomLeftX=0;
m_PlatformBottomLeftY=0;
m_PlatformBottomRightX=0;
m_PlatformBottomRightY=0;
m_GrayRef = 145;
m_BinaryThresholdOffset = 25;
m_MagnifyScale = 10;
m_MatchRatio = 0.9f;
m_BlackFace = true;
m_ShowBinImage = false;
m_ShowAssist = false;
m_CoverImageJoin = false;
}
CameraCalibrationCfg::~CameraCalibrationCfg()
{
}
void CameraCalibrationCfg::GetUpdateSql(vector<string>& ups)
{
char buffer[512];
sprintf_s(buffer, sizeof(buffer), "UPDATE %s set %s=",
BaseConfig::TABLE_NAME.c_str(),
BaseConfig::FIELD_CONFIG_VALUE.c_str()
);
string strhead(buffer);
sprintf_s(buffer, sizeof(buffer), " WHERE %s='%s' AND %s=",
BaseConfig::FIELD_CONFIG_NAME.c_str(),
CONFIG_NAME.c_str(),
BaseConfig::FIELD_CONFIG_CODE.c_str()
);
string strtail(buffer);
sprintf_s(buffer, sizeof(buffer), "%s'%s'%s'%s'",
strhead.c_str(),
m_HadCalibration?"1":"0",
strtail.c_str(), CameraCalibrationCfg::FIELD_HAD_CALIBRATION.c_str());
ups.push_back(buffer);
sprintf_s(buffer, sizeof(buffer), "%s'%s'%s'%s'",
strhead.c_str(),
to_string(m_CalibrationHPoints).c_str(),
strtail.c_str(), CameraCalibrationCfg::FIELD_CALIBRATION_H_POINTS.c_str());
ups.push_back(buffer);
sprintf_s(buffer, sizeof(buffer), "%s'%s'%s'%s'",
strhead.c_str(),
to_string(m_CalibrationVPoints).c_str(),
strtail.c_str(), CameraCalibrationCfg::FIELD_CALIBRATION_V_POINTS.c_str());
ups.push_back(buffer);
sprintf_s(buffer, sizeof(buffer), "%s'%s'%s'%s'",
strhead.c_str(),
to_string(m_CalibrationGridHSize).c_str(),
strtail.c_str(), CameraCalibrationCfg::FIELD_CALIBRATION_GRID_H_SIZE.c_str());
ups.push_back(buffer);
sprintf_s(buffer, sizeof(buffer), "%s'%s'%s'%s'",
strhead.c_str(),
to_string(m_CalibrationGridVSize).c_str(),
strtail.c_str(), CameraCalibrationCfg::FIELD_CALIBRATION_GRID_V_SIZE.c_str());
ups.push_back(buffer);
sprintf_s(buffer, sizeof(buffer), "%s'%s'%s'%s'",
strhead.c_str(),
StringHelper::Double2String(m_CameraMatrix00).c_str(),
strtail.c_str(), CameraCalibrationCfg::FIELD_CAMERA_MATRIX_00.c_str());
ups.push_back(buffer);
sprintf_s(buffer, sizeof(buffer), "%s'%s'%s'%s'",
strhead.c_str(),
StringHelper::Double2String(m_CameraMatrix01).c_str(),
strtail.c_str(), CameraCalibrationCfg::FIELD_CAMERA_MATRIX_01.c_str());
ups.push_back(buffer);
sprintf_s(buffer, sizeof(buffer), "%s'%s'%s'%s'",
strhead.c_str(),
StringHelper::Double2String(m_CameraMatrix02).c_str(),
strtail.c_str(), CameraCalibrationCfg::FIELD_CAMERA_MATRIX_02.c_str());
ups.push_back(buffer);
sprintf_s(buffer, sizeof(buffer), "%s'%s'%s'%s'",
strhead.c_str(),
StringHelper::Double2String(m_CameraMatrix10).c_str(),
strtail.c_str(), CameraCalibrationCfg::FIELD_CAMERA_MATRIX_10.c_str());
ups.push_back(buffer);
sprintf_s(buffer, sizeof(buffer), "%s'%s'%s'%s'",
strhead.c_str(),
StringHelper::Double2String(m_CameraMatrix11).c_str(),
strtail.c_str(), CameraCalibrationCfg::FIELD_CAMERA_MATRIX_11.c_str());
ups.push_back(buffer);
sprintf_s(buffer, sizeof(buffer), "%s'%s'%s'%s'",
strhead.c_str(),
StringHelper::Double2String(m_CameraMatrix12).c_str(),
strtail.c_str(), CameraCalibrationCfg::FIELD_CAMERA_MATRIX_12.c_str());
ups.push_back(buffer);
sprintf_s(buffer, sizeof(buffer), "%s'%s'%s'%s'",
strhead.c_str(),
StringHelper::Double2String(m_CameraMatrix20).c_str(),
strtail.c_str(), CameraCalibrationCfg::FIELD_CAMERA_MATRIX_20.c_str());
ups.push_back(buffer);
sprintf_s(buffer, sizeof(buffer), "%s'%s'%s'%s'",
strhead.c_str(),
StringHelper::Double2String(m_CameraMatrix21).c_str(),
strtail.c_str(), CameraCalibrationCfg::FIELD_CAMERA_MATRIX_21.c_str());
ups.push_back(buffer);
sprintf_s(buffer, sizeof(buffer), "%s'%s'%s'%s'",
strhead.c_str(),
StringHelper::Double2String(m_CameraMatrix22).c_str(),
strtail.c_str(), CameraCalibrationCfg::FIELD_CAMERA_MATRIX_22.c_str());
ups.push_back(buffer);
sprintf_s(buffer, sizeof(buffer), "%s'%s'%s'%s'",
strhead.c_str(),
StringHelper::Double2String(m_DistCoeffs0,"%.20f").c_str(),
strtail.c_str(), CameraCalibrationCfg::FIELD_DIST_COEFFS_0.c_str());
ups.push_back(buffer);
sprintf_s(buffer, sizeof(buffer), "%s'%s'%s'%s'",
strhead.c_str(),
StringHelper::Double2String(m_DistCoeffs1, "%.20f").c_str(),
strtail.c_str(), CameraCalibrationCfg::FIELD_DIST_COEFFS_1.c_str());
ups.push_back(buffer);
sprintf_s(buffer, sizeof(buffer), "%s'%s'%s'%s'",
strhead.c_str(),
StringHelper::Double2String(m_DistCoeffs2, "%.20f").c_str(),
strtail.c_str(), CameraCalibrationCfg::FIELD_DIST_COEFFS_2.c_str());
ups.push_back(buffer);
sprintf_s(buffer, sizeof(buffer), "%s'%s'%s'%s'",
strhead.c_str(),
StringHelper::Double2String(m_DistCoeffs3, "%.20f").c_str(),
strtail.c_str(), CameraCalibrationCfg::FIELD_DIST_COEFFS_3.c_str());
ups.push_back(buffer);
sprintf_s(buffer, sizeof(buffer), "%s'%s'%s'%s'",
strhead.c_str(),
StringHelper::Double2String(m_DistCoeffs4, "%.20f").c_str(),
strtail.c_str(), CameraCalibrationCfg::FIELD_DIST_COEFFS_4.c_str());
ups.push_back(buffer);
sprintf_s(buffer, sizeof(buffer), "%s'%s'%s'%s'",
strhead.c_str(),
to_string(m_FittingMagX).c_str(),
strtail.c_str(), CameraCalibrationCfg::FIELD_FITTING_MAG_X.c_str());
ups.push_back(buffer);
sprintf_s(buffer, sizeof(buffer), "%s'%s'%s'%s'",
strhead.c_str(),
to_string(m_ImageTopLeftX).c_str(),
strtail.c_str(), CameraCalibrationCfg::FIELD_IMAGE_TOP_LEFT_X.c_str());
ups.push_back(buffer);
sprintf_s(buffer, sizeof(buffer), "%s'%s'%s'%s'",
strhead.c_str(),
to_string(m_ImageTopLeftY).c_str(),
strtail.c_str(), CameraCalibrationCfg::FIELD_IMAGE_TOP_LEFT_Y.c_str());
ups.push_back(buffer);
sprintf_s(buffer, sizeof(buffer), "%s'%s'%s'%s'",
strhead.c_str(),
to_string(m_ImageTopRightX).c_str(),
strtail.c_str(), CameraCalibrationCfg::FIELD_IMAGE_TOP_RIGHT_X.c_str());
ups.push_back(buffer);
sprintf_s(buffer, sizeof(buffer), "%s'%s'%s'%s'",
strhead.c_str(),
to_string(m_ImageTopRightY).c_str(),
strtail.c_str(), CameraCalibrationCfg::FIELD_IMAGE_TOP_RIGHT_Y.c_str());
ups.push_back(buffer);
sprintf_s(buffer, sizeof(buffer), "%s'%s'%s'%s'",
strhead.c_str(),
to_string(m_ImageBottomLeftX).c_str(),
strtail.c_str(), CameraCalibrationCfg::FIELD_IMAGE_BOTTOM_LEFT_X.c_str());
ups.push_back(buffer);
sprintf_s(buffer, sizeof(buffer), "%s'%s'%s'%s'",
strhead.c_str(),
to_string(m_ImageBottomLeftY).c_str(),
strtail.c_str(), CameraCalibrationCfg::FIELD_IMAGE_BOTTOM_LEFT_Y.c_str());
ups.push_back(buffer);
sprintf_s(buffer, sizeof(buffer), "%s'%s'%s'%s'",
strhead.c_str(),
to_string(m_ImageBottomRightX).c_str(),
strtail.c_str(), CameraCalibrationCfg::FIELD_IMAGE_BOTTOM_RIGHT_X.c_str());
ups.push_back(buffer);
sprintf_s(buffer, sizeof(buffer), "%s'%s'%s'%s'",
strhead.c_str(),
to_string(m_ImageBottomRightY).c_str(),
strtail.c_str(), CameraCalibrationCfg::FIELD_IMAGE_BOTTOM_RIGHT_Y.c_str());
ups.push_back(buffer);
sprintf_s(buffer, sizeof(buffer), "%s'%s'%s'%s'",
strhead.c_str(),
to_string(m_PlatformTopLeftX).c_str(),
strtail.c_str(), CameraCalibrationCfg::FIELD_PLATFORM_TOP_LEFT_X.c_str());
ups.push_back(buffer);
sprintf_s(buffer, sizeof(buffer), "%s'%s'%s'%s'",
strhead.c_str(),
to_string(m_PlatformTopLeftY).c_str(),
strtail.c_str(), CameraCalibrationCfg::FIELD_PLATFORM_TOP_LEFT_Y.c_str());
ups.push_back(buffer);
sprintf_s(buffer, sizeof(buffer), "%s'%s'%s'%s'",
strhead.c_str(),
to_string(m_PlatformTopRightX).c_str(),
strtail.c_str(), CameraCalibrationCfg::FIELD_PLATFORM_TOP_RIGHT_X.c_str());
ups.push_back(buffer);
sprintf_s(buffer, sizeof(buffer), "%s'%s'%s'%s'",
strhead.c_str(),
to_string(m_PlatformTopRightY).c_str(),
strtail.c_str(), CameraCalibrationCfg::FIELD_PLATFORM_TOP_RIGHT_Y.c_str());
ups.push_back(buffer);
sprintf_s(buffer, sizeof(buffer), "%s'%s'%s'%s'",
strhead.c_str(),
to_string(m_PlatformBottomLeftX).c_str(),
strtail.c_str(), CameraCalibrationCfg::FIELD_PLATFORM_BOTTOM_LEFT_X.c_str());
ups.push_back(buffer);
sprintf_s(buffer, sizeof(buffer), "%s'%s'%s'%s'",
strhead.c_str(),
to_string(m_PlatformBottomLeftY).c_str(),
strtail.c_str(), CameraCalibrationCfg::FIELD_PLATFORM_BOTTOM_LEFT_Y.c_str());
ups.push_back(buffer);
sprintf_s(buffer, sizeof(buffer), "%s'%s'%s'%s'",
strhead.c_str(),
to_string(m_PlatformBottomRightX).c_str(),
strtail.c_str(), CameraCalibrationCfg::FIELD_PLATFORM_BOTTOM_RIGHT_X.c_str());
ups.push_back(buffer);
sprintf_s(buffer, sizeof(buffer), "%s'%s'%s'%s'",
strhead.c_str(),
to_string(m_PlatformBottomRightY).c_str(),
strtail.c_str(), CameraCalibrationCfg::FIELD_PLATFORM_BOTTOM_RIGHT_Y.c_str());
ups.push_back(buffer);
sprintf_s(buffer, sizeof(buffer), "%s'%s'%s'%s'",
strhead.c_str(),
to_string(m_BinaryThresholdOffset).c_str(),
strtail.c_str(), CameraCalibrationCfg::FIELD_BINARY_THRESHOLD_OFFSET.c_str());
ups.push_back(buffer);
sprintf_s(buffer, sizeof(buffer), "%s'%s'%s'%s'",
strhead.c_str(),
to_string(m_GrayRef).c_str(),
strtail.c_str(), CameraCalibrationCfg::FIELD_GRAY_REF.c_str());
ups.push_back(buffer);
sprintf_s(buffer, sizeof(buffer), "%s'%s'%s'%s'",
strhead.c_str(),
to_string(m_MagnifyScale).c_str(),
strtail.c_str(), CameraCalibrationCfg::FIELD_MAGNIFY_SCALE.c_str());
ups.push_back(buffer);
sprintf_s(buffer, sizeof(buffer), "%s'%s'%s'%s'",
strhead.c_str(),
to_string(m_MatchRatio).c_str(),
strtail.c_str(), CameraCalibrationCfg::FIELD_MATCH_RATIO.c_str());
ups.push_back(buffer);
sprintf_s(buffer, sizeof(buffer), "%s'%s'%s'%s'",
strhead.c_str(),
m_BlackFace?"1":"0",
strtail.c_str(), CameraCalibrationCfg::FIELD_BLACK_FACE.c_str());
ups.push_back(buffer);
sprintf_s(buffer, sizeof(buffer), "%s'%s'%s'%s'",
strhead.c_str(),
m_ShowBinImage ? "1" : "0",
strtail.c_str(), CameraCalibrationCfg::FIELD_SHOW_BIN_IMAGE.c_str());
ups.push_back(buffer);
sprintf_s(buffer, sizeof(buffer), "%s'%s'%s'%s'",
strhead.c_str(),
m_ShowCorners ? "1" : "0",
strtail.c_str(), CameraCalibrationCfg::FIELD_SHOW_CORNERS.c_str());
ups.push_back(buffer);
sprintf_s(buffer, sizeof(buffer), "%s'%s'%s'%s'",
strhead.c_str(),
m_ShowAssist ? "1" : "0",
strtail.c_str(), CameraCalibrationCfg::FIELD_SHOW_ASSIST.c_str());
ups.push_back(buffer);
sprintf_s(buffer, sizeof(buffer), "%s'%s'%s'%s'",
strhead.c_str(),
m_CoverImageJoin ? "1" : "0",
strtail.c_str(), CameraCalibrationCfg::FIELD_COVER_IMAGE_JOIN.c_str());
ups.push_back(buffer);
}
string CameraCalibrationCfg::CONFIG_NAME = "CameraCalibration";
string CameraCalibrationCfg::FIELD_HAD_CALIBRATION = "HadCalibration";
string CameraCalibrationCfg::FIELD_CALIBRATION_H_POINTS = "CalibrationHPoints";
string CameraCalibrationCfg::FIELD_CALIBRATION_V_POINTS = "CalibrationVPoints";
string CameraCalibrationCfg::FIELD_CALIBRATION_GRID_H_SIZE = "CalibrationGridHSize";
string CameraCalibrationCfg::FIELD_CALIBRATION_GRID_V_SIZE = "CalibrationGridVSize";
string CameraCalibrationCfg::FIELD_CAMERA_MATRIX_00="CameraMatrix00";
string CameraCalibrationCfg::FIELD_CAMERA_MATRIX_01 = "CameraMatrix01";
string CameraCalibrationCfg::FIELD_CAMERA_MATRIX_02 = "CameraMatrix02";
string CameraCalibrationCfg::FIELD_CAMERA_MATRIX_10 = "CameraMatrix10";
string CameraCalibrationCfg::FIELD_CAMERA_MATRIX_11 = "CameraMatrix11";
string CameraCalibrationCfg::FIELD_CAMERA_MATRIX_12 = "CameraMatrix12";
string CameraCalibrationCfg::FIELD_CAMERA_MATRIX_20 = "CameraMatrix20";
string CameraCalibrationCfg::FIELD_CAMERA_MATRIX_21 = "CameraMatrix21";
string CameraCalibrationCfg::FIELD_CAMERA_MATRIX_22 = "CameraMatrix22";
string CameraCalibrationCfg::FIELD_DIST_COEFFS_0 = "DistCoeffs0";
string CameraCalibrationCfg::FIELD_DIST_COEFFS_1 = "DistCoeffs1";
string CameraCalibrationCfg::FIELD_DIST_COEFFS_2 = "DistCoeffs2";
string CameraCalibrationCfg::FIELD_DIST_COEFFS_3 = "DistCoeffs3";
string CameraCalibrationCfg::FIELD_DIST_COEFFS_4 = "DistCoeffs4";
string CameraCalibrationCfg::FIELD_FITTING_MAG_X = "FittingMagX";
string CameraCalibrationCfg::FIELD_IMAGE_TOP_LEFT_X = "ImageTopLeftX";
string CameraCalibrationCfg::FIELD_IMAGE_TOP_LEFT_Y = "ImageTopLeftY";
string CameraCalibrationCfg::FIELD_IMAGE_TOP_RIGHT_X = "ImageTopRightX";
string CameraCalibrationCfg::FIELD_IMAGE_TOP_RIGHT_Y = "ImageTopRightY";
string CameraCalibrationCfg::FIELD_IMAGE_BOTTOM_LEFT_X = "ImageBottomLeftX";
string CameraCalibrationCfg::FIELD_IMAGE_BOTTOM_LEFT_Y = "ImageBottomLeftY";
string CameraCalibrationCfg::FIELD_IMAGE_BOTTOM_RIGHT_X = "ImageBottomRightX";
string CameraCalibrationCfg::FIELD_IMAGE_BOTTOM_RIGHT_Y = "ImageBottomRightY";
string CameraCalibrationCfg::FIELD_PLATFORM_TOP_LEFT_X = "PlatformTopLeftX";
string CameraCalibrationCfg::FIELD_PLATFORM_TOP_LEFT_Y = "PlatformTopLeftY";
string CameraCalibrationCfg::FIELD_PLATFORM_TOP_RIGHT_X = "PlatformTopRightX";
string CameraCalibrationCfg::FIELD_PLATFORM_TOP_RIGHT_Y = "PlatformTopRightY";
string CameraCalibrationCfg::FIELD_PLATFORM_BOTTOM_LEFT_X = "PlatformBottomLeftX";
string CameraCalibrationCfg::FIELD_PLATFORM_BOTTOM_LEFT_Y = "PlatformBottomLeftY";
string CameraCalibrationCfg::FIELD_PLATFORM_BOTTOM_RIGHT_X = "PlatformBottomRightX";
string CameraCalibrationCfg::FIELD_PLATFORM_BOTTOM_RIGHT_Y = "PlatformBottomRightY";
string CameraCalibrationCfg::FIELD_BINARY_THRESHOLD_OFFSET = "BinaryThresholdOffset";
string CameraCalibrationCfg::FIELD_GRAY_REF = "GrayRef";
string CameraCalibrationCfg::FIELD_MAGNIFY_SCALE = "MagnifyScale";
string CameraCalibrationCfg::FIELD_MATCH_RATIO = "MatchRatio";
string CameraCalibrationCfg::FIELD_BLACK_FACE = "BlackFace";
string CameraCalibrationCfg::FIELD_SHOW_BIN_IMAGE = "ShowBinImage";
string CameraCalibrationCfg::FIELD_SHOW_CORNERS = "ShowCorners";
string CameraCalibrationCfg::FIELD_SHOW_ASSIST = "ShowAssist";
string CameraCalibrationCfg::FIELD_COVER_IMAGE_JOIN = "CoverImageJoin";