This commit is contained in:
2024-06-13 01:01:16 +08:00
parent cc7053b8b9
commit 3ca83db8ad
@@ -17,6 +17,17 @@ std::vector<handdleAI::Bbox> pinDetEvaluate(cv::Mat& src, handleAiModelManager*
}
std::vector<cv::Rect> getpinHandleAiEvaluateRect(std::shared_ptr <detData> data, cv::Mat& src, std::vector<handdleAI::Bbox>& result)
{
//Bbox转Rect
std::vector<cv::Rect> rectVec;
for (auto detResult : result)
rectVec.push_back(cv::Rect(detResult.x - detResult.w / 2, detResult.y - detResult.h / 2, detResult.w, detResult.h));
//计算过滤条件
int totalWidth = 0;
for (auto detResult : result)
totalWidth += detResult.w;
int avgWidth= totalWidth / rectVec.size();
std::vector<cv::Rect> resultRectVec;
cv::Point centerPos(src.rows / 2, src.cols / 2);
cv::Rect targetRect(src.cols / 3, src.rows / 3, src.cols / 3, src.rows / 3);
@@ -188,14 +199,29 @@ cv::Mat pinHandleAiEvaluate(std::shared_ptr <detData> data, cv::Mat& src,
return Paint;
}
//主函数
int ALGO_InspectionErrorCheck(std::shared_ptr <detData> data)
{
if (data->oriImgs.size() < 1)
{
qDebug() << __FUNCDNAME__ << __LINE__ << "camera Mat size is Error!";
return 1;
}
if (data->productType == -1)
{
qDebug() << __FUNCDNAME__ << __LINE__ << "productType -1";
return 2;
}
return 0;
}
void ALGO_Inspection(std::shared_ptr <detData> data, handleAiModelManager* _handleAiModelManager)
{
#if disableeAlgo
return;
#endif
if (data->oriImgs.size() < 1)
int errorCode = ALGO_InspectionErrorCheck(data);
if (errorCode != 0)
{
qDebug() << __FUNCDNAME__ << __LINE__ << "camera Mat size is Error!";
qDebug() << __FUNCDNAME__ << __LINE__ << "errorCheck ERR"<< errorCode;
return;
}
cv::Mat src = data->oriImgs[0];