[英]Transforming from image coordinates to world coordinates
I have homography matrix H which is 3x3. 我有3x3的单应性矩阵H。 I have an image that only contains 0s and 1s to denote whether the pixel is occupied. 我有一个只包含0和1的图像,以表示像素是否被占用。 I would like to take this image and transform it into world coordinates using H. 我想拍摄这张图片,并使用H将其转换为世界坐标。
Is there an easy way to do this using cv2 in python? 有没有简单的方法可以在python中使用cv2做到这一点? Otherwise, do I need to convert each pixel location using H? 否则,是否需要使用H转换每个像素位置?
EDIT: 编辑:
Here's my code: 这是我的代码:
image = plt.imread('image.png')
obs = np.where(image > 0)
obs_map = np.vstack((obs[0], obs[1]))
obs_map = np.vstack((obs_map, np.ones(obs[0].shape[0])))
obs_map = np.dot(H, obs_map)
obs_map = np.dot(R, obs_map)
plt.scatter(obs_map[0, :], obs_map[1, :])
plt.show()
This seems to work but the scale seems off. 这似乎可行,但规模似乎缩小了。 What value do I need for z value? z值需要什么值?
H is H是
1.1048200e-02 6.6958900e-04 -3.3295300e+00
-1.5966000e-03 1.1632400e-02 -5.3951400e+00
1.1190700e-04 1.3617400e-05 5.4276600e-01
and image consisting of 0s and 1s looks like this: 由0和1组成的图像如下所示:
and my plot looks like this: 我的情节看起来像这样:
I think warpPerspective() might be for you. 我认为warpPerspective()可能适合您。
Check it out: 看看这个:
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.