gpt4 book ai didi

java - 如何在处理中获取 rect() 的顶点?

转载 作者:太空宇宙 更新时间:2023-11-04 11:29:23 25 4
gpt4 key购买 nike

使用 Greg Borenstein 的 OpenCV 处理库,我能够在网络摄像头流中检测用户的脸部,并在其周围绘制一个矩形。这是将矩形绘制到屏幕上的部分:

Rectangle[] faces = opencv.detect()

for (int i = 0; i < faces.length; i++)
{
rect(faces[i].x, faces[i].y, faces[i].width, faces[i].height);
}

当用户移动脸部时,矩形也会相应移动。

我想在屏幕上画一条线,其中一个点设置在预定义位置,另一个点始终固定在矩形的右下角顶点。这样,线的长度和角度将根据矩形的位置而变化。

我尝试的一件事是从 faces[i].xfaces[i].y 中减去一些值,直到到达右下顶点,但我发现网络摄像头中脸部的深度使得此方法不起作用。

这样,我怎样才能找到上面提到的矩形顶点,以便我可以正确地绘制线条?

最佳答案

矩形的 x 位置给出了它的左侧。所以 x+width 给出了它的右侧。

类似地,矩形的 y 位置给出了它的顶边。所以 y+height 给出了它的底边。

float rectRight = faces[i].x + faces[i].width;
float rectBottom = faces[i].y + faces[i].height;

如果这仍然不是您想要的,那么请发布一个我们可以实际运行的小示例。使用硬编码值而不是依赖 opencv,这样我们就可以复制并粘贴您的代码并亲自查看问题。

关于java - 如何在处理中获取 rect() 的顶点?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43969591/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com