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

2023-12-03

我是 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

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

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

我替换了(scene_corners[0],Point2f( img_object.cols, 0)) with

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

由于两者都是org.opencv.core.Pointtype 对象,不支持这些类型的操作。有什么办法可以转换这个。请帮我。先感谢您。


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

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

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

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

如果它是一个 Point 对象,那么您可以通过获取 Point 的每个组件并将其添加到添加到 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
);
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何在Android中添加2个org.opencv.core.Point对象? 的相关文章

随机推荐