diff --git a/BinocularMarkCam_test/BinocularMarkCam_test.cpp b/BinocularMarkCam_test/BinocularMarkCam_test.cpp index 1b9f5fd..8182b14 100644 --- a/BinocularMarkCam_test/BinocularMarkCam_test.cpp +++ b/BinocularMarkCam_test/BinocularMarkCam_test.cpp @@ -12,22 +12,22 @@ #include #include -#define TEST_GROUP 2 +#define TEST_GROUP 3 int main(int argc, char** argv) { const char* dataPath[TEST_GROUP] = { "F:/标定采图/charucoMark图/MarkTest/", //0 "F:/标定采图/charucoMark图/Mark_13度/", - }; + "F:/ShangGu/项目/冠钦_博清科技/组装/数据/mark测试/" }; SVzNLRange fileIdx[TEST_GROUP] = { - {1,4}, {1,5}, + {1,4}, {1,5}, {1,9} }; const char* ver = wd_charuco3DMarkVersion(); printf("ver:%s\n", ver); - for (int grp = 1; grp < 2; grp++) + for (int grp = 2; grp < 3; grp++) { SWD_BQ_CharucoMarkInfo markInfo; markInfo.patternSize = cv::Size(3, 3); @@ -43,7 +43,7 @@ int main(int argc, char** argv) // 1. 打开 XML 文件(READ 模式) char calibFile[250]; sprintf_s(calibFile, sizeof(calibFile), "%sStereoCamera.xml", dataPath[grp]); - cv::FileStorage fs("F:/标定采图/charucoMark图/Mark_13度/StereoCamera.xml", cv::FileStorage::READ); + cv::FileStorage fs(calibFile, cv::FileStorage::READ); // 检查文件是否成功打开 if (!fs.isOpened()) { @@ -68,13 +68,13 @@ int main(int argc, char** argv) int fidx1 = fileIdx[grp].nMin; int fidx2 = fileIdx[grp].nMax; - for (int index = fidx1; index < fidx2; index ++) + for (int index = fidx1; index <= fidx2; index ++) { char filename[256]; - sprintf_s(filename, "%s/left%d.bmp", dataPath[grp], index); + sprintf_s(filename, "%s/left_%d.bmp", dataPath[grp], index); cv::Mat leftimg = cv::imread(filename, cv::IMREAD_GRAYSCALE); - sprintf_s(filename, "%s/right%d.bmp", dataPath[grp], index); + sprintf_s(filename, "%s/right_%d.bmp", dataPath[grp], index); cv::Mat rightimg = cv::imread(filename, cv::IMREAD_GRAYSCALE); if (leftimg.empty() || rightimg.empty()) @@ -88,6 +88,12 @@ int main(int argc, char** argv) markInfo, boardInfo, disparityOffset, marks); + + printf("%s:\n", filename); + for (int i = 0; i < marks.size(); i++) + { + printf("markID:%d : (%f, %f, %f)\n", marks[i].markID, marks[i].mark3D.x, marks[i].mark3D.y, marks[i].mark3D.z); + } } } } diff --git a/sourceCode/binocularMarkCam.cpp b/sourceCode/binocularMarkCam.cpp index a54500a..5826211 100644 --- a/sourceCode/binocularMarkCam.cpp +++ b/sourceCode/binocularMarkCam.cpp @@ -10,7 +10,8 @@ #define _OUTPUT_DEBUG_DATA 0 //version 1.0.0 : ʼ汾 -std::string m_strVersion = "1.0.0"; +//version 1.1.0 : 9Markʱûаչ̶ʼID +std::string m_strVersion = "1.1.0"; //汾 const char* wd_charuco3DMarkVersion(void) { @@ -58,6 +59,10 @@ void detectCharucoCorners(const cv::Mat& img, for (int board = 0; board < boardInfo.totalBoardNum; board++) { int startId = board * boardInfo.boardIdInterval; + if (startId == 24) + startId = 25; + else if (startId == 8) + startId = 9; int endId = startId + boardInfo.boardChaucoIDNum - 1; std::vector ids;