【发布时间】:2016-04-02 08:21:51
【问题描述】:
我正在使用OpenCV 将图像读入numpy.array,它们具有以下形状。
import cv2
def readImages(path):
imgs = []
for file in os.listdir(path):
if file.endswith('.png'):
img = cv2.imread(file)
imgs.append(img)
imgs = numpy.array(imgs)
return (imgs)
imgs = readImages(...)
print imgs.shape # (100, 718, 686, 3)
每张图片都有 718x686 像素/尺寸。有 100 张图片。
我不想在 718x686 上工作,我想将像素组合成一个维度。也就是说,形状应该看起来像:(100,492548,3)。无论如何,在 OpenCV(或任何其他库)或 Numpy 中是否有允许我这样做的?
【问题讨论】:
-
我不明白你从哪里得到最终形状。但是,在将它们全部放入一个阵列之前,您是否尝试过重塑?如果有一个名为 X 的 (718, 686) 数组,您可以将其展平为例如这样的行向量 X.reshape((1, -1))。