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


von SorgenKind (Gast)


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?

von Chris L. (kingkernel)


Lesenswert?

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

von Jens G. (jensig)


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.

von Lukas K. (carrotindustries)


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.

von Thomas (Gast)


Lesenswert?

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

von STK500-Besitzer (Gast)


Lesenswert?

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

von Chris L. (kingkernel)


Lesenswert?

Jaaaaaaa, dann hat man 3 Kameramodelle und alle fangen mit PICT.... an!

von matrixx (Gast)


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

von oszi40 (Gast)


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.

von STK500-Besitzer (Gast)


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.

von SorgenKind (Gast)


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?

von oszi40 (Gast)


Lesenswert?

SorgenKind schrieb:
> bzw. mit dem befehl grep.

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

von g.a.s.t. (Gast)


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?

von Rufus Τ. F. (rufus) Benutzerseite


Lesenswert?

Das kann der Windows-Explorer schon seit längerem.

von oszi40 (Gast)


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.

von Timmo H. (masterfx)


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)

von SorgenKind (Gast)


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?

von Rufus Τ. F. (rufus) Benutzerseite


Lesenswert?

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

von g.a.s.t. (Gast)


Lesenswert?

> Das kann der Windows-Explorer schon seit längerem.

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

von g.a.s.t. (Gast)


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.

von Rufus Τ. F. (rufus) Benutzerseite


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.

von SorgenKind (Gast)


Lesenswert?

ok, ich hab heute folgendes ausgeführt:
1
 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
1
ps
 gibt folgendes aus:
1
Server> ps
2
  PID USER       VSZ STAT COMMAND
3
    1 root      2940 S    init
4
    2 root         0 SW   [kthreadd]
5
    3 root         0 SW   [ksoftirqd/0]
6
    4 root         0 SW   [events/0]
7
    5 root         0 SW   [khelper]
8
    8 root         0 SW   [async/mgr]
9
   85 root         0 SW   [sync_supers]
10
   87 root         0 SW   [bdi-default]
11
   88 root         0 SW   [kblockd/0]
12
   94 root         0 SW   [ata/0]
13
   95 root         0 SW   [ata_aux]
14
  110 root         0 SW   [rpciod/0]
15
  118 root         0 SW<  [kswapd0]
16
  119 root         0 SW   [nfsiod]
17
  271 root         0 SW   [scsi_eh_0]
18
  273 root         0 SW   [scsi_eh_1]
19
  295 root         0 SW   [mtdblockd]
20
  319 root         0 SW   [kstriped]
21
  330 root         0 SW   [md0_raid1]
22
  336 root         0 SW   [md1_raid1]
23
  421 root         0 SW   [kjournald]
24
  512 root         0 SW   [khubd]
25
  549 root         0 SW   [ksnapd]
26
  585 root         0 SW   [crypto/0]
27
  688 root         0 SW   [crypto]
28
  689 root         0 SW   [crypto_ret]
29
  751 root         0 SW   [ecryptfs-kthrea]
30
 1074 root      2940 S    /sbin/syslogd -S
31
 1076 root      2940 S    /sbin/klogd
32
 1115 root         0 SW   [md2_raid1]
33
 1340 root     12636 S <  /usr/syno/bin/findhostd
34
 1364 root         0 SW   [kjournald]
35
 1530 admin    33756 S    /usr/syno/pgsql/bin/postgres -D /var/services/pgsql
36
 1533 admin    33756 S    postgres: writer process
37
 1534 admin    33756 S    postgres: wal writer process
38
 1624 root      8928 D    /usr/syno/bin/scemd
39
 1890 root         0 SW   [usbhid_resumer]
40
 1961 root      2944 S    /sbin/getty 115200 console
41
 1972 root      8720 S    /usr/syno/sbin/hotplugd
42
 1985 root      5400 S    /usr/sbin/inetd
43
 1992 root      5400 S    /usr/sbin/crond
44
 2259 root     12792 S    /usr/syno/sbin/scheduler
45
 2268 admin    34840 S    postgres: admin download [local] idle
46
 2289 root     20936 S N  /usr/syno/sbin/synoindexd
47
 2294 root      9084 S N  /usr/syno/bin/synomkthumbd
48
 2355 root     16080 S    /usr/syno/sbin/nmbd -D
49
 2357 admin    34804 S    postgres: admin photo [local] idle
50
 2408 root     19640 S    /usr/syno/sbin/smbd -D
51
 2410 root     19640 S    /usr/syno/sbin/smbd -D
52
 2459 root      7800 S    /usr/syno/sbin/atalkd
53
 2473 1         1584 S    /sbin/portmap
54
 2475 root         0 SW   [lockd]
55
 2476 root         0 SW   [nfsd]
56
 2479 root      1696 S    /usr/sbin/statd
57
 2482 root      1744 S    /usr/sbin/mountd -p 892
58
 2504 root      9080 S N  /usr/syno/sbin/synomkflvd
59
 2537 root      3908 S    /usr/syno/sbin/sshd
60
 2553 root      5508 S    /usr/syno/apache/bin/httpd -DREDIRECT_USER -f /usr/s
61
 2641 root      5668 S    /usr/syno/apache/bin/httpd -DREDIRECT_USER -f /usr/s
62
 2688 root     11560 S    /usr/syno/sbin/mDNSResponder -f /tmp/mDNSResponder.c
63
 2925 root      8852 S    /usr/syno/sbin/cnid_metad
64
 2931 root     15132 S    /usr/syno/sbin/afpd -c 256 -g guest -n Server AFPSer
65
 3041 root      5660 S    /usr/syno/apache/bin/httpd -DREDIRECT_USER -f /usr/s
66
 4954 root      5660 S    /usr/syno/apache/bin/httpd -DREDIRECT_USER -f /usr/s
67
 4956 root      5652 S    /usr/syno/apache/bin/httpd -DREDIRECT_USER -f /usr/s
68
 4957 root      5508 S    /usr/syno/apache/bin/httpd -DREDIRECT_USER -f /usr/s
69
 7105 admin     2948 R    grep -r -i -o kenox Data Media Safe
70
20332 root         0 SW   [flush-9:0]
71
22705 root      6520 S    sshd: admin [priv]
72
22839 admin     6520 S    sshd: admin@pts/0
73
22840 admin     5404 S    -sh
74
23164 admin     5404 R    ps
75
23165 root         0 RW   [khelper]
76
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?

von oszi40 (Gast)


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).

von oszi40 (Gast)


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*""

von SorgenKind (Gast)


Lesenswert?

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

von apas (Gast)


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`.

von Yalu X. (yalu) (Moderator)


Lesenswert?

Probier's mal damit:
1
find -iregex '.*\.\(jpeg\|jpg\|jpe\)' |
2
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.

von Rolf Magnus (Gast)


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.

von Thomas (Gast)


Lesenswert?

Also mit Windows wärst du jetzt (schon lange) fertig.

von oszi40 (Gast)


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.

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.