Ich verwende OpenCV
, um Bilder in numpy.array
zu lesen, und sie haben die folgende Form.Wie werden Dimensionen in einem numply-Array kombiniert?
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)
Jedes Bild hat 718x686 Pixel/Dimension. Es gibt 100 Bilder.
Ich möchte nicht auf 718x686 arbeiten, möchte ich die Pixel in einer einzigen Dimension zu kombinieren. Das heißt, die Form sollte wie folgt aussehen: (100,492548,3)
. Gibt es sowieso in OpenCV (oder einer anderen Bibliothek) oder Numpy, die mir das erlauben?
Ich verstehe nicht, wo Sie die Endform aus bekommen. Aber hast du schon mal versucht, alles neu zu gestalten? Wenn Sie ein (718, 686) Array namens X haben, können Sie es zB in einen Zeilenvektor wie X.reshape ((1, -1)) reduzieren. –