我正在尝试做类似的事情,但在 Android 上:http://docs.opencv.org/doc/tutorials/imgproc/imgtrans/warp_affine/warp_affine.html我有一个绘制到 ImageView 的图像,我希望能够选择 6 个点(3 个源和 3 个目标)
并在 OpenCV 上使用 warpAffine 方法,如前面的示例所示。
我能够重现上面的示例,但是当从 onTouch 事件传递 X,Y 坐标时,它没有给我我所期望的结果。
我认为问题是如何将 android 触摸坐标转换为 OpenCV Mat 列/行。
也许我需要在 OpenCV 表面上显示图像?
我希望我说得很清楚
提前致谢。
The 触摸坐标参考属于您的 Android 屏幕分辨率的点(三星 Galaxy S3 为 720x1280)。另一方面,OpenCV 图像可能比该值更大或更小,这意味着触摸坐标不能直接映射到图像坐标.
从一种分辨率转换为另一种分辨率需要做的是标准化触摸坐标从 720x1280 到 640x480 范围。因此,要找到real您要做的图像上的坐标:
real_x = (touch_x * 640) / 720;
real_y = (touch_y * 480) / 1280;
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)