python中的Opencv 2.4.3转换

python中的Opencv 2.4.3转换,python,opencv,python-2.7,numpy,Python,Opencv,Python 2.7,Numpy,这对我来说真是一团糟,我很难解决这个问题。我想在Python中将方法cv2.EstimaterialGitTransform用于numpy数组,但我找不到任何示例或其他东西来解释所需的src和dst numpy数组的格式 有没有人能给我发一个这两个数组的小例子来说明这个方法?我有所有的数据(当然是2D),但找不到如何在numpy数组中塑造它 请帮帮我。 谢谢大家! 下面是一个基本示例,它尝试将两组随机的10个点对齐 import numpy as np import cv2 shape = (1

这对我来说真是一团糟,我很难解决这个问题。我想在Python中将方法cv2.EstimaterialGitTransform用于numpy数组,但我找不到任何示例或其他东西来解释所需的src和dst numpy数组的格式

有没有人能给我发一个这两个数组的小例子来说明这个方法?我有所有的数据(当然是2D),但找不到如何在numpy数组中塑造它

请帮帮我。
谢谢大家!

下面是一个基本示例,它尝试将两组随机的10个点对齐

import numpy as np
import cv2
shape = (1, 10, 2) # Needs to be a 3D array
source = np.random.randint(0, 100, shape).astype(np.int)
target = source + np.array([1, 0]).astype(np.int)
transformation = cv2.estimateRigidTransform(source, target, False)

.

您试过了吗?如果我错了,请纠正我,但是,您的源数组将类似于[[x1,y1],[x2,y2],…,[x10,y10]]。对吗?我注意到一个问题。它需要有一个三维空间,否则它会把你的矩阵当作图像,然后尝试做我不知道的事情,也许是某种图像对齐。嘿@Jeep87c,这与你的另一个问题类似。你希望达到什么目标?创建自己的最小二乘点集对齐非常容易。也许你能准确地描述一下你想要什么?我已经试着让你的转换工作了几天。。。我想补充一点,3D部分很重要,但astype()对于cv2正确识别向量也很重要。它不必是np.int类型,但数组肯定需要为cv2定义一个数据类型才能正常工作。希望有一天这能让人省去一点麻烦。要添加到Brian的注释中,它必须是np.float32,函数不接受np.float64,并且错误消息:“两个输入图像必须在函数CVestimategidTransform中都有8uC1或8uC3类型”仅适用于2D图像情况。您必须深入源代码才能看到这一行:“else if(CV_MAT_TYPE(A->TYPE)==CV_32FC2 | CV_MAT_TYPE(A->TYPE)==CV_32SC2)”