Point p1(faces[i].x + (eyes[j].x + eyes[j].width*0.5), faces[i].y + (eyes[j].y + eyes[j].height*0.5));
Point p2(faces[i].x + (eyes[j].x + eyes[j].width*0.5), faces[i].y + (eyes[j].y + eyes[j].height*0.5));
line(frame, p1, p2, Scalar( 255, 255, 0 ), 5, 8, 0);
这是我编写的用于在两个点p1和p2之间绘制线段的代码。实际上我得到点的显示,但没有线段。任何人都可以帮助我!!
提前致谢。
答案 0 :(得分:2)
使用上面提供的代码可以推断出这两个点位于相同的位置,因此您不会获得任何行而是获得一个点。
另请查看行函数:http://docs.opencv.org/modules/core/doc/drawing_functions.html#line
顺便说一句:您的指数存在问题。如果你想要连接两只眼睛的中心,你应该做一些像
这样的事情Point p1(faces[0].x + (eyes[0].x + eyes[0].width*0.5), faces[0].y + (eyes[0].y + eyes[0].height*0.5));
Point p2(faces[0].x + (eyes[1].x + eyes[1].width*0.5), faces[0].y + (eyes[1].y + eyes[1].height*0.5));
假设面[0]指向方形面的坐标,眼睛[0]是该面部的第一只眼睛,眼睛1是第二只眼睛(假设未发生以下情况)