Mic*_*elR 1 android opencv image-processing affinetransform
我正在尝试做一些类似的事情,但在 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 表面上显示图像?我希望我很清楚,提前致谢。
该触摸坐标指的是属于Android手机的屏幕分辨率的一个点(三星Galaxy S3是720x1280)。另一方面,OpenCV 图像可能比那个更大或更小,这意味着触摸坐标不能直接映射到图像坐标。
从一种分辨率转换到另一种分辨率需要做的是将触摸坐标从 720x1280 范围归一化到 640x480 范围。因此,要找到图像上的真实坐标,您将执行以下操作:
real_x = (touch_x * 640) / 720;
real_y = (touch_y * 480) / 1280;
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1637 次 |
| 最近记录: |