mikrocontroller.net

Forum: PC Hard- und Software Bilder auf Festplatte suchen aufgrund Kamera


Autor: SorgenKind (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo

Ich habe eine recht üppige Bildersammlung. Nun möchte ich alle Bilder 
suchen, die mit einer bestimmten Kamera aufgenommen wurden. Ist sowas 
möglich?

Autor: Chris L. (kingkernel)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Befinden sich die Bilder alle in einem Ordner?
Dann kannst du die Spalte für Kameramodell Anzeigen lassen und danach 
sortieren.

Autor: Jens G. (jensig)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
da das Kameramodell meistens im Klartext im Header eines jpegs 
gespeichertt ist, kann man einfach alle dateien nach genau diesem String 
durchsuchen lassen, mit einem Tool, das Stringsuche kann.

Autor: Lukas K. (carrotindustries)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Die Python Lösung würde ungefähr so aussehen:
Den Bilderordner mit os.walk rekursiv durchlaufen, mit pyexif 
(http://pyexif.sf.net/) jedes Bild auf das Kameramodell abklopfen, wenn 
es das richtige ist, den Dateinamen ausgeben. Oder die Datei wohin auch 
immer verlinken.

Autor: Thomas (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Festplatte nach Bildern durchsuchen (mit der Windows Suche) und dann 
nach Spalte Kameramodell sortieren?

Autor: STK500-Besitzer (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Sofern die Bilder noch den originalen DAteinamen haben, kann man auch 
einfach danach sortieren.

Autor: Chris L. (kingkernel)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Jaaaaaaa, dann hat man 3 Kameramodelle und alle fangen mit PICT.... an!

Autor: matrixx (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo!

Mit dem Freeware Programm XnView (auch als portable Version) kann man 
Bilder nach verschiedenen Kriterien durchsuchen.
Unter Ansicht->Suchen: EXIF anhacken und Kameramodell auswählen.

Hoffe dir geholfen zu haben.
LG matrixx

Autor: oszi40 (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
1. Für simple Fälle reicht suche nach DCF*, SDC* oder wie die Bilder 
dieser Kamera heißen...

2.Das Tool Exifer zeigt noch etwas mehr wie Belichtungszeit usw.

Autor: STK500-Besitzer (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Christian L. schrieb:
> Jaaaaaaa, dann hat man 3 Kameramodelle und alle fangen mit PICT....

Dann sind die Kameras alle vom gleichen Hersteller. Und wenn die Bilder 
alle in einem Verzeichnis sind, dann sind ehn nur noch die zuletzt 
gespeicheten vorhanden.

Autor: SorgenKind (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
ich versuch es im Moment mit der string-suche (vielen Dank für den Tipp) 
bzw. mit dem befehl grep. Das scheint mir am sichersten, doch dauert es 
verdammt lang...
Gibt es eine möglichkeit zu prüfen, wieviel % bereits durchsucht worden 
sind bzw. welches Verzeichnis grep momentan durchsucht?

Autor: oszi40 (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
SorgenKind schrieb:
> bzw. mit dem befehl grep.

Dann mach doch grep ... > ergebnis.txt und geh Kaffeetrinken

Autor: g.a.s.t. (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
> Befinden sich die Bilder alle in einem Ordner?
> Dann kannst du die Spalte für Kameramodell Anzeigen lassen und danach
> sortieren.

Mit welcher Software?

Autor: Rufus Τ. Firefly (rufus) (Moderator) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Das kann der Windows-Explorer schon seit längerem.

Autor: oszi40 (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Rufus t. Firefly schrieb:
> kann der Windows-Explorer schon seit längerem

Man muß nur oben die RICHTIGE Ansicht wählen/Haken ergänzen.

Autor: Timmo H. (masterfx)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Christian L. schrieb:
> Befinden sich die Bilder alle in einem Ordner?
Geht auch wenn sie in mehreren Ordnern sind. Einfach den Übergeordneten 
Ordner durchsuchen nach "*.jpg, *.jpeg" und dann die Detailansicht 
auswählen und Spalten anpassen (Rechte Maustaste auf die Spalten => 
Kameramodell, bzw. weitere)

Autor: SorgenKind (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
oszi40 schrieb:
> Dann mach doch grep ... > ergebnis.txt und geh Kaffeetrinken

muss der Telnet client während der ganzen Suche immer laufen?
ich logge mich beim Server ein und führe aus:
grep -i -r suchmich > resultat.txt

wenn ich den client aber schließe, wird die Suche nicht weitergeführt, 
kann das sein?

Autor: Rufus Τ. Firefly (rufus) (Moderator) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ja, das ist so. Schreib ein & hinter die Zeile, dann wird der Prozess 
auch nach Deiner Abmeldung zuende geführt.

Autor: g.a.s.t. (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
> Das kann der Windows-Explorer schon seit längerem.

Ach so es geht hier um Windows? Diese Info habe ich jetzt wohl 
überlesen.

Autor: g.a.s.t. (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
> Ja, das ist so. Schreib ein & hinter die Zeile, dann wird der Prozess
> auch nach Deiner Abmeldung zuende geführt.

Dazu würde ich eher nohup verwenden.

Autor: Rufus Τ. Firefly (rufus) (Moderator) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
g.a.s.t. schrieb:
> Ach so es geht hier um Windows? Diese Info habe ich jetzt wohl
> überlesen.

Da nicht gesagt wurde, um welches OS es geht, ist von Windows 
auszugehen, weil dessen Nutzer diese Information sehr gerne komplett 
unterschlagen.
Leute, die Linux oder sonstige Systeme einsetzen, wissen eher, daß es 
bei Hilfsanfragen hilfreich ist, das mitzuteilen.

Ich hätte auch darauf hinweisen können, wie man mit Spotlight danach 
suchen kann, nur dürfte der Nutzerkreis von OS X hier recht überschaubar 
sein.

> Dazu würde ich eher nohup verwenden.

Das kann man natürlich auch.

Autor: SorgenKind (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
ok, ich hab heute folgendes ausgeführt:
 nohup grep -i -r -o kenox * > resultat.txt & 

dauraufhin wurde sofort die datei resultat.txt angelegt. Diese ist nun 
nach einigen Stunden aber immer noch leer. Als ich neulich die selbe 
Suche mit Ausgabe über das Telnet-Terminal startete, wurden die ersten 
Dateine nach etwa 2 Stunden gefunden. Ich bin nicht sicher, ob die Suche 
noch läuft bzw. korrekt abläuft. Die Abfrage mit
ps
 gibt folgendes aus:
Server> ps
  PID USER       VSZ STAT COMMAND
    1 root      2940 S    init
    2 root         0 SW   [kthreadd]
    3 root         0 SW   [ksoftirqd/0]
    4 root         0 SW   [events/0]
    5 root         0 SW   [khelper]
    8 root         0 SW   [async/mgr]
   85 root         0 SW   [sync_supers]
   87 root         0 SW   [bdi-default]
   88 root         0 SW   [kblockd/0]
   94 root         0 SW   [ata/0]
   95 root         0 SW   [ata_aux]
  110 root         0 SW   [rpciod/0]
  118 root         0 SW<  [kswapd0]
  119 root         0 SW   [nfsiod]
  271 root         0 SW   [scsi_eh_0]
  273 root         0 SW   [scsi_eh_1]
  295 root         0 SW   [mtdblockd]
  319 root         0 SW   [kstriped]
  330 root         0 SW   [md0_raid1]
  336 root         0 SW   [md1_raid1]
  421 root         0 SW   [kjournald]
  512 root         0 SW   [khubd]
  549 root         0 SW   [ksnapd]
  585 root         0 SW   [crypto/0]
  688 root         0 SW   [crypto]
  689 root         0 SW   [crypto_ret]
  751 root         0 SW   [ecryptfs-kthrea]
 1074 root      2940 S    /sbin/syslogd -S
 1076 root      2940 S    /sbin/klogd
 1115 root         0 SW   [md2_raid1]
 1340 root     12636 S <  /usr/syno/bin/findhostd
 1364 root         0 SW   [kjournald]
 1530 admin    33756 S    /usr/syno/pgsql/bin/postgres -D /var/services/pgsql
 1533 admin    33756 S    postgres: writer process
 1534 admin    33756 S    postgres: wal writer process
 1624 root      8928 D    /usr/syno/bin/scemd
 1890 root         0 SW   [usbhid_resumer]
 1961 root      2944 S    /sbin/getty 115200 console
 1972 root      8720 S    /usr/syno/sbin/hotplugd
 1985 root      5400 S    /usr/sbin/inetd
 1992 root      5400 S    /usr/sbin/crond
 2259 root     12792 S    /usr/syno/sbin/scheduler
 2268 admin    34840 S    postgres: admin download [local] idle
 2289 root     20936 S N  /usr/syno/sbin/synoindexd
 2294 root      9084 S N  /usr/syno/bin/synomkthumbd
 2355 root     16080 S    /usr/syno/sbin/nmbd -D
 2357 admin    34804 S    postgres: admin photo [local] idle
 2408 root     19640 S    /usr/syno/sbin/smbd -D
 2410 root     19640 S    /usr/syno/sbin/smbd -D
 2459 root      7800 S    /usr/syno/sbin/atalkd
 2473 1         1584 S    /sbin/portmap
 2475 root         0 SW   [lockd]
 2476 root         0 SW   [nfsd]
 2479 root      1696 S    /usr/sbin/statd
 2482 root      1744 S    /usr/sbin/mountd -p 892
 2504 root      9080 S N  /usr/syno/sbin/synomkflvd
 2537 root      3908 S    /usr/syno/sbin/sshd
 2553 root      5508 S    /usr/syno/apache/bin/httpd -DREDIRECT_USER -f /usr/s
 2641 root      5668 S    /usr/syno/apache/bin/httpd -DREDIRECT_USER -f /usr/s
 2688 root     11560 S    /usr/syno/sbin/mDNSResponder -f /tmp/mDNSResponder.c
 2925 root      8852 S    /usr/syno/sbin/cnid_metad
 2931 root     15132 S    /usr/syno/sbin/afpd -c 256 -g guest -n Server AFPSer
 3041 root      5660 S    /usr/syno/apache/bin/httpd -DREDIRECT_USER -f /usr/s
 4954 root      5660 S    /usr/syno/apache/bin/httpd -DREDIRECT_USER -f /usr/s
 4956 root      5652 S    /usr/syno/apache/bin/httpd -DREDIRECT_USER -f /usr/s
 4957 root      5508 S    /usr/syno/apache/bin/httpd -DREDIRECT_USER -f /usr/s
 7105 admin     2948 R    grep -r -i -o kenox Data Media Safe
20332 root         0 SW   [flush-9:0]
22705 root      6520 S    sshd: admin [priv]
22839 admin     6520 S    sshd: admin@pts/0
22840 admin     5404 S    -sh
23164 admin     5404 R    ps
23165 root         0 RW   [khelper]
32138 root     19832 S    /usr/syno/sbin/smbd -D

Demnach scheint die Suche ja noch zu laufen. Wird resultat.txt erst am 
Ende der Suche aktualisiert?

Autor: oszi40 (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Suche erst mal einer Muster-Datei die wirklich da ist.
Wenn Du nur nach kenox suchst und kenox gibt es nicht, dann wird es 
länger dauern...  Bei kenox sind wahrscheinlich mehr Treffer (wenn 
Deine Rechte reichen).

Autor: oszi40 (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Sorry bei kenox sollte ein Stern gleich dahinter sein um auch kenox123 
zu finden. Leider wurde hier auf der Webseite der Text anders 
dargestellt als von mir eingetippt.  ""kenox*""

Autor: SorgenKind (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
der Stern sollte ja für die Dateie stehen, die durchsucht werden sollen 
oder?

Autor: apas (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ja, das ist richtig... Die Lücke gehört dahin...
Hast du ein Bild, das sicher mit der Kamera gemacht wurde? Dann probier 
doch einfach erstmal `grep -iro kenox dein_bild.jpg`.

Autor: Yalu X. (yalu) (Moderator)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Probier's mal damit:
find -iregex '.*\.\(jpeg\|jpg\|jpe\)' |
while read f; do head -c2000 "$f" | grep -iq kenox && echo "$f"; done

Das sollte deutlich schneller gehen, da

- nur Dateien mit der Endung .jpeg, .jpg und .jpw (case-insensitiv) und

- von diesen nur die ersten 2000 Bytes gegrept werden.

Im zweiten Punkt wird davon ausgegangen, dass der EXIF-Kamerahersteller-
eintrag ziemlich am Anfang der Datei steht, was normalerweise auch der
Fall ist. Besser wäre es allerdings, die Suche nicht mit grep, sondern
einem speziellen EXIF-Tool zu machen. Damit wird auch verhindert, dass
der Kamerastring irrtümlicherweise innerhalb der binären Bilddaten
gefunden wird.

Autor: Rolf Magnus (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Yalu X. schrieb:
> Probier's mal damit:
> find -iregex '.*\.\(jpeg\|jpg\|jpe\)' |
> while read f; do head -c2000 "$f" | grep -iq kenox && echo "$f"; done
>
> Das sollte deutlich schneller gehen, da
>
> - nur Dateien mit der Endung .jpeg, .jpg und .jpw (case-insensitiv) und
>
> - von diesen nur die ersten 2000 Bytes gegrept werden.

Dafür wird für jede Datei ein neues grep gestartet.

> Im zweiten Punkt wird davon ausgegangen, dass der EXIF-Kamerahersteller-
> eintrag ziemlich am Anfang der Datei steht, was normalerweise auch der
> Fall ist. Besser wäre es allerdings, die Suche nicht mit grep, sondern
> einem speziellen EXIF-Tool zu machen. Damit wird auch verhindert, dass
> der Kamerastring irrtümlicherweise innerhalb der binären Bilddaten
> gefunden wird.

Mit exif (also dem Tool) ginge das. Das müßte dann so gehen:
[Code]
find -iregex '.*\.\(jpeg\|jpg\|jpe\)' |
while read f; do [ `exif -mt0x0110 $f` = "kenox" ] && echo $f; done
[Code]
(0x0110 ist der Code für das Kamera-Modell in den EXIF-Daten).
Ggf. "kenox" noch durch den exakten und kompletten Modellnamen der 
Kamera ersetzen. Das kann man erfahren, indem man exif einfach nur mit 
einem Dateinamen als einzigen Parameter aufruft.

Autor: Thomas (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Also mit Windows wärst du jetzt (schon lange) fertig.

Autor: oszi40 (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Thomas schrieb:
> schnell fertig.

Der große Unterschied ist: ob man nur schnell den DateiNAMEN oder mühsam 
den DateiINHALT (genauer gesagt die exif-Daten) vergleicht.

Da wäre MS auch nicht viel schneller beim Suchen.

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.