【发布时间】:2017-05-14 23:04:43
【问题描述】:
使用 Greg Borenstein 的 OpenCV for Processing 库,我能够在网络摄像头流中检测用户的面部,并在其周围绘制一个矩形。这是将矩形绘制到屏幕上的部分:
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].x 和faces[i].y 中减去一些值,直到我到达右下角的顶点,但我发现网络摄像头中面部的深度使这种方法不起作用。
这样,我怎样才能找到上面提到的矩形的顶点,以便我可以正确地画线?
【问题讨论】:
-
我不太明白你的问题。你是绘制矩形的人,所以你已经有了它的位置。你能发一个minimal reproducible example吗? (注意:这应该不是你的整个项目,而只是一个显示问题的小例子)
-
@Kevin Workman 首先,矩形正在平移到屏幕上随机选择的点,因此我无法知道它会在哪里结束。其次,我没有提供任何代码,因为我认为没有必要解决问题。我只是在寻找某种方法来找到矩形的右下角。
-
对不起,我还是不明白。你是提出随机点的人,不是吗?再次,请发布一个 minimal reproducible example 来证明问题。
-
@Kevin Workman 我改写了这个问题,提供了一些示例代码,并将所有内容保持在最低限度。
-
@DontKnowMuchButGettingBetter 我编辑了这个问题。它已被改写,并提供了一些示例代码。谢谢你的建议。
标签: java processing