diff --git a/AlgorithmModule/src/CameraCheckAnalysisy.cpp b/AlgorithmModule/src/CameraCheckAnalysisy.cpp index dd8e123..68ef754 100644 --- a/AlgorithmModule/src/CameraCheckAnalysisy.cpp +++ b/AlgorithmModule/src/CameraCheckAnalysisy.cpp @@ -167,14 +167,22 @@ int CameraCheckAnalysisy::Detect_Pre() // pImageResult->result->in_shareImage->strCameraName, pImageResult->result->in_shareImage->strChannel); // 简单硬拼接:img 在左,img_B 在右,拼接结果写回 img + // 水平方向有overlap,拼接时固定去掉左图最右边overlap区域 if (pImageResult->result->in_shareImage->img.size() != pImageResult->result->in_shareImage->img_B.size() || pImageResult->result->in_shareImage->img.type() != pImageResult->result->in_shareImage->img_B.type()) { m_pdetlog->AddCheckstr(PrintLevel_1, "Detect_Pre", "Cam %s ==================img size/type != img_B ", strBasic.c_str()); return 1; } + const int overlap = 1056; + if (pImageResult->result->in_shareImage->img.cols <= overlap) + { + m_pdetlog->AddCheckstr(PrintLevel_1, "Detect_Pre", "Cam %s ==================img.cols <= overlap %d ", strBasic.c_str(), overlap); + return 1; + } cv::Mat merge_img; - cv::hconcat(pImageResult->result->in_shareImage->img, pImageResult->result->in_shareImage->img_B, merge_img); + cv::hconcat(pImageResult->result->in_shareImage->img(cv::Rect(0, 0, pImageResult->result->in_shareImage->img.cols - overlap, pImageResult->result->in_shareImage->img.rows)), + pImageResult->result->in_shareImage->img_B, merge_img); pImageResult->result->in_shareImage->img = merge_img; // 拼接完成后 img_B 不再需要,立即释放内存