ö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()
RAW ist kein Bild-format im Sinne einer bitmap-oder jpeg ist. Diese Bilder enthalten Farben pro pixel zum Beispiel in rgb-Werte. RAW umfasst im wesentlichen die raw-Daten der Foto-Schiff, das wurde nicht konvertiert Farbwerte noch (daher die 16-bit Graustufen). Deshalb ist es oft von (semi-)professionelle Fotografen werden in der Lage zu ändern, wie die Farben angezeigt werden im post-processing. Da der Schritt der Umwandlung der Daten in Farbe pro pixel noch nicht geschehen, alle standard-Bild-Bibliotheken werden wahrscheinlich nicht in der Lage sein zu Lesen der RAW-Daten-format.
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

Schreibe einen Kommentar