从图像坐标转换为世界坐标

时间:2018-01-24 16:55:41

标签: python image-processing homography

我的单应矩阵H是3x3。我有一个只包含0和1的图像来表示像素是否被占用。我想拍摄这张图片并使用H.将其转换为世界坐标。

在python中使用cv2有一种简单的方法吗?否则,我是否需要使用H转换每个像素位置?

编辑:

这是我的代码:

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()

这似乎有效,但规模似乎有所不同。 z值需要什么值?

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

由0和1组成的图像如下所示:

enter image description here

我的情节如下:

enter image description here

1 个答案:

答案 0 :(得分:1)

我认为warpPerspective()可能适合你。

检查出来:

OpenCV 2.4

OpenCV 3