öffnen .raw-Bild-Daten mit python
Habe ich die Suche mit google nach der Methode zeigen Sie ein raw-Bild-Daten mithilfe von python-Bibliotheken, aber konnte keine richtige Lösung. Die Daten stammen aus einem Kamera-Modul, und es hat '.raw " - Erweiterung. Auch wenn ich versuchte, es zu öffnen in terminal über 'mehr mit dem Namen.raw', die Konsole sagte, dass dies ist eine binäre Datei. Verkäufer sagte mir, dass die Kamera-Ausgänge 16-bit-raw-Graustufen-Daten.
Aber ich Frage mich, wie kann ich diese Daten anzeigen lassen, die über PIL, Kissen oder einfach nur Numpy. Ich habe getestet das PIL Image-Modul. Jedoch, es konnte nicht identifizieren, das Bild-Daten-Datei. Es scheint PIL nicht berücksichtigen .raw-Datei ist wie ein Bild-Datenformat. BMP-Dateien angezeigt werden könnte, aber diese '.raw' konnte nicht.
Auch wenn ich versuchte, mit einer nur-lese-Funktion und matplotlib, wie die folgende
from matplotlib import pyplot as plt
f = open("filename.raw", "rb").read()
plt.imshow(f)
plt.show()
dann ein Fehler Auftritt mit
FEHLER: - Bild-Daten können nicht konvertieren zu schweben
Jede Idee wird geschätzt.
link:
Kamera-Modul
Machte ich einige Verbesserung mit dem folgenden codes. Aber jetzt das Problem, dass dieser code zeigt nur einen Teil des gesamten Bildes.
from matplotlib import pyplot as plt
import numpy as np
from StringIO import StringIO
from PIL import *
scene_infile = open('G0_E3.raw','rb')
scene_image_array = np.fromfile(scene_infile,dtype=np.uint8,count=1280*720)
scene_image = Image.frombuffer("I",[1280,720],
scene_image_array.astype('I'),
'raw','I',0,1)
plt.imshow(scene_image)
plt.show()
Haben Sie gesucht, SO für numpy und RAW? Ich erinnere mich an etwas über die RAW mit einer Marke bestimmte header-block.
vielleicht möchten Sie sich an rawkit. Ich habe es nie benutzt also kann nicht kommentieren auf Ihre Nützlichkeit zu Ihnen, aber es sieht aus wie könnte es hier hilfreich sein
Es gibt auch ein Programm (und Bibliothek) zum Lesen und konvertieren von RAW-Bildern aus mehreren Kamera-Modellen finden Sie unter cybercom.net/~dcoffin/dcraw
Danke für alle Antworten. Aber ich wollte verstehen, wie das öffnen und Bearbeiten der raw-Bild manuell mit python. Und ich sollte Sie entfernt haben, die " aus StringIO...' - Zeile. Ich verwende es nicht jetzt.
InformationsquelleAutor Nownuri | 2015-09-07
Du musst angemeldet sein, um einen Kommentar abzugeben.
Haben Sie einen Blick auf rawpy:
rgb
ist nur ein RGB-numpy-array, so können Sie jede Bibliothek verwenden (nicht nurimageio
) auf der Festplatte speichern.Wenn Sie möchten, um Zugriff auf die unverarbeiteten Bayer Daten, dann tun:
Siehe auch die API-docs.
InformationsquelleAutor letmaik