如何在Android中添加2个org.opencv.core.Point对象?
我是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替换了一行()
但现在问题是在上面的代码中添加了这两点 。
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的第二个和第三个参数必须是点。
在您的替换中,您删除了添加符号(+)。 嗯。 如果你要转换代码行,我认为你不能这样做。
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 );
- Android 64k方法限制56k方法的错误
- BottomNavigationView – 如何避免重新创建片段并重用它们
- 知道文件是否是Java / Android中的图像
- “就地”EditTextPreference
- Android IllegalStateException:Fragment null必须是要从实例状态正确重新创建的公共静态类
- Executor和PriorityBlockingQueue上的ASyncTask
- 例外 – 为包裹写例外
- 如何使用Necessitas(qt端口)构建我的HelloWorld Android应用程序?
- 使用KeyGenParameterSpec.Builder等效替换KeyPairGeneratorSpec – 密钥库操作失败