OpenCV - 从numpy数组创建多声道Mat

时间:2015-07-08 18:56:52

标签: python arrays opencv numpy

鉴于如下所示的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型)。

1 个答案:

答案 0 :(得分:0)

您可以在现有阵列上使用np.array()来创建一个阵列,该阵列将转换为带有其他通道的OpenCV Mat:

a = np.array([1,2,3], dtype='float32')
a = np.array([a])

将转换为cv.fromarray

下的CV_32FC2类型的Mat(两个通道)

Source