#include "CameraCalibrationCfg.h" #include "BaseConfig.h" #include "../../utils/StringHelper.h" CameraCalibrationCfg::CameraCalibrationCfg() : m_HadCalibration(new BoolData("HadCalibration")) , m_CalibrationHPoints(new UIntData("CalibrationHPoints", u8"标定横向角点数",26)) , m_CalibrationVPoints(new UIntData("CalibrationVPoints", u8"标定纵向角点数",27)) , m_CalibrationGridHSize(new UIntData("CalibrationGridHSize", u8"标定方格横向尺寸",10)) , m_CalibrationGridVSize(new UIntData("CalibrationGridVSize", u8"标定方格纵向尺寸",10)) , m_CameraMatrix00(new DoubleData("CameraMatrix00")) , m_CameraMatrix01(new DoubleData("CameraMatrix01")) , m_CameraMatrix02(new DoubleData("CameraMatrix02")) , m_CameraMatrix10(new DoubleData("CameraMatrix10")) , m_CameraMatrix11(new DoubleData("CameraMatrix11")) , m_CameraMatrix12(new DoubleData("CameraMatrix12")) , m_CameraMatrix20(new DoubleData("CameraMatrix20")) , m_CameraMatrix21(new DoubleData("CameraMatrix21")) , m_CameraMatrix22(new DoubleData("CameraMatrix22")) , m_DistCoeffs0(new DoubleData("DistCoeffs0")) , m_DistCoeffs1(new DoubleData("DistCoeffs1")) , m_DistCoeffs2(new DoubleData("DistCoeffs2")) , m_DistCoeffs3(new DoubleData("DistCoeffs3")) , m_DistCoeffs4(new DoubleData("DistCoeffs4")) , m_FittingMagX(new UIntData("FittingMagX", u8"放大倍数",20)) , m_ImageTopLeftX(new IntData("ImageTopLeftX")) , m_ImageTopLeftY(new IntData("ImageTopLeftY")) , m_ImageTopRightX(new IntData("ImageTopRightX")) , m_ImageTopRightY(new IntData("ImageTopRightY")) , m_ImageBottomLeftX(new IntData("ImageBottomLeftX")) , m_ImageBottomLeftY(new IntData("ImageBottomLeftY")) , m_ImageBottomRightX(new IntData("ImageBottomRightX")) , m_ImageBottomRightY(new IntData("ImageBottomRightY")) , m_PlatformTopLeftX(new IntData("PlatformTopLeftX")) , m_PlatformTopLeftY(new IntData("PlatformTopLeftY")) , m_PlatformTopRightX(new IntData("PlatformTopRightX")) , m_PlatformTopRightY(new IntData("PlatformTopRightY")) , m_PlatformBottomLeftX(new IntData("PlatformBottomLeftX")) , m_PlatformBottomLeftY(new IntData("PlatformBottomLeftY")) , m_PlatformBottomRightX(new IntData("PlatformBottomRightX")) , m_PlatformBottomRightY(new IntData("PlatformBottomRightY")) , m_BinaryThresholdOffset(new IntData("BinaryThresholdOffset", u8"", 25)) , m_GrayRef(new IntData("GrayRef", u8"", 145)) , m_MagnifyScale(new UIntData("MagnifyScale", u8"", 10)) , m_MatchRatio(new FloatData("MatchRatio",u8"", 0.9f)) , m_BlackFace(new BoolData("BlackFace", u8"", true)) , m_ShowBinImage(new BoolData("ShowBinImage")) , m_ShowCorners(new BoolData("ShowCorners")) , m_ShowAssist(new BoolData("ShowAssist")) , m_CoverImageJoin(new BoolData("CoverImageJoin")) { size_t ptrSize = sizeof(nullptr); //指针大小 void* startPtr = &m_startFlag + 1; size_t count = ((size_t)&m_endFlag - (size_t)startPtr) / ptrSize; InsertMp(startPtr, count); } CameraCalibrationCfg::~CameraCalibrationCfg() { } void CameraCalibrationCfg::GetUpdateSql(vector& 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->GetValue() ? "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->GetValue()).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->GetValue()).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->GetValue()).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->GetValue()).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->GetValue()).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->GetValue()).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->GetValue()).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->GetValue()).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->GetValue()).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->GetValue()).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->GetValue()).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->GetValue()).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->GetValue()).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->GetValue(),"%.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->GetValue(), "%.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->GetValue(), "%.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->GetValue(), "%.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->GetValue(), "%.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->GetValue()).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->GetValue()).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->GetValue()).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->GetValue()).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->GetValue()).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->GetValue()).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->GetValue()).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->GetValue()).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->GetValue()).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->GetValue()).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->GetValue()).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->GetValue()).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->GetValue()).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->GetValue()).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->GetValue()).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->GetValue()).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->GetValue()).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->GetValue()).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->GetValue()).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->GetValue()).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->GetValue()).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->GetValue() ?"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->GetValue() ? "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->GetValue() ? "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->GetValue() ? "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->GetValue() ? "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";