Ich habe ein großes Bild, CV2 Modul in Python und einige Koordinaten i, das Bild beschnitten:Python, opencv, Bildarray auf binäre
img = cv.imread(image_path)
crop_img = img[y1:y2,x1:x2]
cv.imwrite(cropPath, crop_img)
nun der crop_img ist ein numpy.ndarray Typ. Ich speichere dann dieses Bild auf der Festplatte und ihr Inhalt in einem binären Format lesen unter Verwendung eines open() Funktion
with open(cropPath, 'rb') as image_file:
content = image_file.read()
und ich erhalte die binäre Darstellung. Gibt es eine Möglichkeit, die obigen Vorgänge auszuführen, ohne das Image auf der Festplatte zu speichern. Das Speichern auf der Festplatte spart viel Zeit, ich kann keine Methode dafür finden. Wenn jemand in die richtige Richtung zeigen könnte, wäre das hilfreich.
Sie können ein Verwenden Sie [io.BytesIO] (https://docs.python.org/3/library /io.html#io.BytesIO), um die Daten in einer falschen Datei im RAM zu speichern. –
Warum müssen Sie in eine Datei schreiben? – noel
Wenn du 'binary' sagst, meinst du Binärstring oder Zahlen oder etwas anderes? – Divakar