gpt4 book ai didi

java - 将一个矩形变成一个中心点

转载 作者:行者123 更新时间:2023-12-01 11:42:14 25 4
gpt4 key购买 nike

我目前正在使用 OpenCV 创建一个系统来检测车辆是否位于某些区域。到目前为止,我已经达到了 Rect 的地步。围绕每辆车绘制。我的下一步是找到这些矩形的中心点,看看它是否落在特定区域内。

我意识到最好的方法可能是找到 Rect 的坐标的四个角然后取平均值x和平均值y -coordinate 查找中心点的坐标。但是,我不知道该怎么做。是否有一些功能可以让我访问 OpenCV 的 Rect直接坐标?

最佳答案

编辑原文:正如所指出的,我们不能直接在 tl() 和 br() 上使用“+”运算符。

使用它来获取矩形的中心:

Point p1 = new Point(100, 100);
Point p2 = new Point(600, 800);
Rect myrect = new Rect(p1, p2);
System.out.println(String.format("Rectangle: %s", myrect));

Point centroid = new Point(myrect.x + 0.5*(myrect.width), myrect.y + 0.5*(myrect.height));
System.out.println(String.format("centroid: %s", centroid));

打印:

Rectangle: {100, 100, 500x700}
centroid: {350.0, 450.0}

旧答案:

[使用 rect 的方法:

tl ()
br ()

分别获取左上角和右下角点。]

如果你确实想使用 tl、br 方法,你可以这样做:

Point anotherCentroid = new Point(0.5 * (myrect.br().x + myrect.tl().x), 0.5 * (myrect.br().y + myrect.tl().y));

关于java - 将一个矩形变成一个中心点,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29435135/

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