gpt4 book ai didi

java - 如何在 Android 中添加 2 个 org.opencv.core.Point 对象?

转载 作者:搜寻专家 更新时间:2023-11-01 08:55:53 27 4
gpt4 key购买 nike

我是 OpenCV 和 Android 的新手。我正在尝试将 C++ 代码转换为 java

line( img_matches, scene_corners[0] + Point2f( img_object.cols, 0), scene_corners[1] + Point2f( img_object.cols, 0), Scalar(0, 255, 0), 4 );

这是它的最后一部分。在这里,我用 Core.line() 替换了 line

但是现在的问题是在上面的代码中添加这两点

scene_corners[0] + Point2f( img_object.cols, 0)

我将 (scene_corners[0],Point2f( img_object.cols, 0)) 替换为

scene_corners.get(0),new Point(img_object.cols(),0)

由于都是org.opencv.core.Point类型的对象,所以不支持这些类型的操作。任何方式来转换它。请帮我。先感谢您。

最佳答案

首先要注意的是Core.line的第二个和第三个参数必须是points。

在您的替换中,您删除了加号 (+)。唔。如果您要逐行转换代码,我认为您无法做到这一点。

get 方法似乎返回一个点,但您需要打印出对象以确保或只查看 scene_corners 的变量定义。使用它来尝试打印出来:

System.out.println(scene_corners.get(0));

如果它是一个 Point 对象,那么您可以通过获取 Point 的每个组件并将其添加到 added to Point 中的相应组件来将其添加到您的点中。假设点 A 和 B 的分量为 0 和 1。

P(A) + P(B) = P(A0+B0, A1+B1)

在这里,我假设 scene_corners.get(0) 具有 x 和 y 属性:

line(
img_matches,
new Point(
img_object.cols() + scene_corners.get(0).x,
0 + scene_corners.get(0).y),
new Point(
img_object.cols() + scene_corners.get(1).x,
0 + scene_corners.get(1).y),
Scalar(0, 255, 0),
4
);

关于java - 如何在 Android 中添加 2 个 org.opencv.core.Point 对象?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18975813/

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