我有一个简单的物体检测程序,它使用带yolo的opencv c ++来检测篮球比赛视频中的球员。检测播放器效果很好。现在,我想将检测到的对象(玩家)分组到团队中。我的想法是比较球衣颜色。我尝试将颜色转换为黑白,并仅计算每个检测到的投资回报率的非零值,从而对团队进行相应分组。假设球衣颜色是深色和浅色(相反)。准确性不可接受。
执行此操作的一种优雅方法是什么?代码示例受到赞赏。
cvtColor(roi, gray, cv::COLOR_BGR2GRAY);
threshold(gray, threshold_output, 127, 255, cv::THRESH_BINARY);
int TotalNumberOfPixels = threshold_output.rows * threshold_output.cols;
int white = countNonZero(threshold_output);
样品架
想象中的输出