给出如下所示的numpy数组,您可以将其转换为多通道cv mat,将数据折叠成单列吗?
arr = [[x1, y1],
[x2, y2],
[x3, y3]]
arr = np.array(arr, dtype='f4')
mat = cv.fromarray(arr)
这样做,得到的垫子有3行和2单通道列(垫子的类型是32FC1)。我需要得到的垫子有3行和一个单一的2通道列(具体来说,是类型32FC2)。
您可以在现有数组上使用np.array()
来创建一个数组,该数组将转换为具有额外通道的OpenCV Mat:
a = np.array([1,2,3], dtype='float32')
a = np.array([a])
将在cv.fromarray
下转换为CV_32FC2类型的Mat(两个通道)