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之间绘制线段的代码。实际上,我正在显示点,但是没有线段。有谁能够帮助我!!

提前致谢。

最佳答案

使用上面提供的代码,您可以推断出这两个点在的同一位置中,因此您不会得到任何直线,而是一个点。

还看一下line函数: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));

假设faces [0]指向平方脸的坐标,eyes [0]是该面孔上的第一只眼睛,眼睛1是第二只眼睛(并且假设未发生以下情况)

09-06 11:40