Ich habe eine Paranoia über das versehentliche Formatieren von SD-Karten, die Fotos enthalten, die ich noch nicht hochgeladen habe. Ich versuche vorsichtig zu sein, aber da ich manchmal zwei oder drei Karten jongliere, werde ich immer noch nervös.
Ich habe ein Importskript, das Fotos ansaugt und die korrekte Übertragung überprüft, aber ich habe keine gute Möglichkeit, die SD-Karte als "sicher zu löschen" zu markieren. Natürlich gibt es ein paar Dinge, die ich in der physischen Welt tun könnte (Sperren und Entsperren der Karte oder Ablegen an einem bestimmten Ort usw.), aber manchmal bin ich geistesabwesend oder abgelenkt und ich würde lieber den Computer passe darauf auf.
Natürlich könnte ich die Karte auch selbst als Teil des Skripts formatieren, aber ... es scheint, als würde dies in erster Linie eine weitere mögliche Katastrophe einleiten, wenn meine Fehlerbehandlung beispielsweise Fehler aufweist. Außerdem warte ich gerne bis später, um die Karte zu formatieren, da mein Upload-Vorgang nur lokal gespeichert wird, während ein Tag später die Nachtsicherung sie außerhalb des Standorts kopiert hat.
Eine Idee, die ich hatte, war, ein JPEG (oder ein anderes Bild) auf die Karte mit einem schönen grünen Hintergrund und dem Text "sicher zu formatieren!" Zu schreiben. - Wenn ich das mit der Karte in der Kamera sehe, muss ich die Formatoptionen in der Kamera auslösen.
Aber ich kann nicht scheinen, dass die Kamera tatsächlich ein Bild anzeigt, das ich konstruiere. Gibt es bestimmte Metadaten, Speicherorte oder andere Tricks, mit denen die Kamera diese Datei erkennt?
quelle
Antworten:
Hier ist ein Perl-Programm, das ich für einen ähnlichen Zweck verwendet habe - das Übertragen von Bildern auf einen Drucker mit einem Kartenleser (bevor ich den Drucker nahe genug finden konnte, um seine USB-Verbindung zu verwenden). Es gibt einige integrierte Annahmen (unter denen Kartendateisysteme vom Benutzer bereitgestellt
/media/card/<card-type>
werden können), aber Sie sollten in der Lage sein, dasmount
/umount
part zu verwerfen, wenn es für Sie nicht relevant ist. (Wenn ich es noch einmal von Grund auf neu schreiben würde, würde ich es wahrscheinlichpmount
stattdessen verwenden.)Es wird auch versucht, Nicht-JPEG-Bildern eine geeignete Miniaturbilddatei zu geben, wie von DCIM vorgeschrieben. Ich kann bestätigen, dass dies auf meiner Canon DSLR funktioniert, kann mich aber nicht erinnern, ob ich es auf einem Fuji getestet habe. Wenn ich das tun würde, wäre es auf einem F30 oder F60 compact.
FWIW, mein Kartenleseskript (nicht gezeigt) löscht jedes Bild aus dem Kartendateisystem, wenn es korrekt in mein Archivverzeichnis geschrieben (und schreibgeschützt markiert) wurde. Ich habe die
--keep
Möglichkeit, dies zu überschreiben, was beim Testen von Änderungen am Skript hilfreich ist. Ich formatiere die Karten nie neu.Der Code
Wieder entschuldige ich mich für die Länge. Jetzt sollte jedoch klar sein, wo das Bild in das Dateisystem der Karte geschrieben werden soll: Insbesondere muss es gemäß dem DCIM- Standard in
DCIM/nnnAAAAA/AAAAnnnn.ext
, won
numerischA
ist, ein beliebiges Zeichen¹ sein undext
istJPG
oder davon abhängt ,THM
ob es das Objekt selbst oder ein Objekt ist separates Vorschaubild. Wenn der Name nicht zu diesem Muster passt, wird die Kamera ihn wahrscheinlich ignorieren.Beachten Sie auch die Verwendung von
exiftran -g
, um einem Bild, das keine hat, eine EXIF-Miniaturansicht (mit der richtigen Größe) hinzuzufügen. Dies ist wahrscheinlich wichtig für Ihre Verwendung, da Kameras für die Bildvorschau in der Regel auf das Miniaturbild angewiesen sind. Die von GIMP erstellte hat wahrscheinlich die falsche Größe und kann dazu führen, dass Ihre Kamera das Bild ignoriert, einen Platzhalter anzeigt oder sogar einen Lesefehler meldet.¹ Das heißt, jedes Zeichen innerhalb des von DCIM zulässigen Satzes :
123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ_
.quelle
exiftran -g
, da das von GIMP erstellte aus irgendeinem Grund einen Lesefehler verursacht (möglicherweise falsche Größe). Wenn Sie eine Datei ohne Miniaturansicht haben, wird auch ein Lesefehler verursacht. (Wenn die Datei gemäß der DCIM-Spezifikation benannt ist, wird sie ansonsten einfach nicht verarbeitet.)exiftran
Leitung dort drin ist (ich bin auch ein GIMPer). Es ist schön zu wissen, dass es sich gelohnt hat, an meinem alten, nicht mehr verwendeten Skript festzuhalten! :-)DCIM/999_AAAA/AAAA9999.JPG
Wenn Sie verwenden, zeigt die Kamera einen Fehler an (ich vergesse die genaue Formulierung, aber etwas über das Erreichen einer numerischen Grenze) und reagiert auf nichts - Sie können die Karte nicht einmal formatieren.Ich weiß nicht, was erforderlich ist, um das "fremde" Bild zu erkennen, wahrscheinlich etwas im Exif ... aber für Ihr Ziel erstellen Sie einfach das Bild mit Ihrer Nachricht und dem entsprechenden Hintergrund und machen Sie ein Bild davon, wenn Sie es anzeigen der Heimcomputerbildschirm. Dann ist es schon in der Kamera.
quelle