我的单应矩阵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组成的图像如下所示:
我的情节如下: