Nieuws:

Welkom, Gast. Alsjeblieft inloggen of registreren.
Heb je de activerings-mail niet ontvangen?

Auteur Topic: [Opgelost]Dubbele foto's  (gelezen 7045 keer)

[Opgelost]Dubbele foto's
« Gepost op: 2009/12/26, 17:04:12 »
Ik heb in de map Afbeeldingen tig mappen/mapjes staan met foto's en je raad het al, veel dubbele erbij.
Is er een programma waarbij ik alle foto's in een map kan zetten, gesorteerd op datum, waarbij de dubbele foto's naast elkaar komen te staan? Of vraag ik iets onmogelijks? Ik heb al gekeken met FSlint, deze geeft wel de dubbele aan, alleen in een map zetten? Het origineel en de duplicaat(en) dus bij elkaar.
« Laatst bewerkt op: 2010/01/02, 21:16:10 door Gijsbert »
In der Beschränkung zeigt sich der Meister.

Offline jan11000

  • Lid
Re: Dubbele foto's
« Reactie #1 Gepost op: 2009/12/26, 21:28:28 »
In doublekiller(windows programma) kun je de dubbele files kopieren.

Offline petervs

  • Lid
Re: Dubbele foto's
« Reactie #2 Gepost op: 2009/12/27, 14:00:45 »
Mijn foto's hernoem ik altijd massaal met Gthumb op datum. Dubbele foto's zijn exact op hetzelfde moment gemaakt, dus in die zin zouden ze naast elkaar moeten staan, maar ik weet niet of het programma ze gewoon ernaast zet met een toevoeging op de naam.
Ubuntu MATE 16.04

Offline Jenske

  • Lid
Re: Dubbele foto's
« Reactie #3 Gepost op: 2009/12/28, 14:51:06 »
Hallo,

Ik ga ervan uit dat je Ubuntu hebt draaien (anders is dit een beetje een verkeerd forum voor deze vraag). In Digikam is een functie die foto's inhoudelijk op dubbels kan zoeken, dus zelfs foto's die bv. een beetje op elkaar lijken -- een landschap en een gecropte versie van dat landschap bv. --; Digikam geeft dan aan hoeveel de foto's op elkaar lijken.
Hij maakt daarbij gebruik van een algoritme dat de inhoud van de foto's met elkaar vergelijkt en uitkomt op een soort waarde, die kan worden vergeleken met andere foto's.

Mocht je geen goesting hebben om Digikam te installeren, zou je een oeroude vegelijkingstest kunnen uitvoeren, nl. een zogenaamde Cyclic Redundancy Check (CRC); daarvoor bestaan massa's programma's. (Maar van deze uitspraak ben ik niet helemaal zeker, want zo'n CRC wordt voor zover ik weet vooral gebruikt om te controleren of er tijdens het doorsturen van data geen verschillen zijn ontstaan tussen een verzonden en een ontvangen gegevens-pakket. Of dit op foto's ook zou werken weet ik niet goed.)

Wetende hoe Digikam is opgebouwd, ben ik er echter haast 100% zeker van dat er ook aparte programmaatjes bestaan die beelden met elkaar kunnen vergelijken en aangeven hoeveel procent ze op elkaar gelijken.

---
Die Digikam-functie is echt wel spectaculair, want hij kan dus aangeven in hoeverre bepaalde beelden op elkaar lijken. Zo heb ik een motordrive-reeksje foto's van een vallende balk -- een kunstwerk in opbouw in Antwerpen, maar dit terzijde -- die alleen verschillen in de hoogte van de balk ten opzicht van de grond. Digikam plukt die er mooi uit als "op elkaar gelijkend" en ik kan nog altijd beslissen of en welke van deze dubbels ik er dan wil uitgooien. Zie mijn schermafdruk in bijlage en merk op hoe weinig de foto's verschillen.
.. Kubuntu 23.10 op een ...
.. geen idee welk computermerk, 32 Gbyte RAM, 4 Gbyte video-RAM

Offline vanadium

  • Lid
Re: Dubbele foto's
« Reactie #4 Gepost op: 2009/12/28, 16:02:37 »
Citaat
Of dit op foto's ook zou werken weet ik niet goed.)
Eén bitje verschil, en de bestanden worden als verschillend gemarkeerd. Dubbels worden dus herkend als de bestanden echt 100% identiek zijn.

Tegenwoordig werk ik ook zoals petervs, maar vanop de commandolijn: met "renrot" worden de bestanden hernoemd volgens hun exif datum, en indien nodig verliesloos geroteerd.

Offline track

  • Lid
Re: Dubbele foto's
« Reactie #5 Gepost op: 2010/01/02, 11:40:37 »
Hoi Gijs,

vanuit mijn perspectief is het makkelijker om even een scriptje te bouwen dat het nodige doet dan naar een kant-en-klare
oplossing te zoeken. 
Wat je wil is dat b.v. alle foto's zodanig hernoemd worden dat vóór de bestandsnaam het datum komt te staan,
en tegelijk alles in één map verplaatst wordt, juist ?
Dan is er nog wél het probleem dat er misschien een foto met dezelfde tijdstempel en naam dubbel is.  Dat lukt dan niet omdat
één bestandnaam niet dubbel in een map kan staan.  (direct weggooien dan ?  Of laten staan ?)

Zou jij zelf zo'n scriptje kunnen bouwen, met een beetje steun van het forum ?

track

Re: Dubbele foto's
« Reactie #6 Gepost op: 2010/01/02, 12:04:06 »
Ik heb in de map Afbeeldingen meerdere mapjes staan met foto's. Nu staan er in al die mapjes zowel unieke foto's als foto's die in een of meerdere mapjes dubbel staan. Voordat ik een foto weggooi die dubbel is wil ik zeker weten dat de foto inderdaad dubbel is. Mijn eerste idee was om alle foto's in een map te zetten, dit gaat wel, alleen de dubbele foto wordt overschreven. Wat ik graag zou willen: Stel je zoiets voor als een rekenblad van OOo alle foto's uit mapje A komen in kolom A van het rekenblad in elke cel 1 foto deze kolom wordt gesorteerd op datum van de foto, ook zo voor mapje B etc. Nu heb krijg je op elke rij eventueel de dubbele foto's te zien. Ik weet niet of iets dergelijks in een script te zetten is? Ik denk dat het rekenblad van OOo dit niet aan kan qua grootte van de bestanden en of zoiets wel mogelijk is.
In der Beschränkung zeigt sich der Meister.

Offline track

  • Lid
Re: Dubbele foto's
« Reactie #7 Gepost op: 2010/01/02, 12:40:00 »
Een script kan alles !  (je moet het hem wél even aanleeren =D )

Maar wat ik vanuit jouw voorstel lees is dat je misschien de gehele info van jouw verzameling
graag in een OOo-tabel terug wilt hebben ?  (alleen al omdat je dan zelf makkelijk daarmee iets kunt doen)

Dat valt mee, je hoeft "alleen" het resultaat van de desbetreffende "ls -l" te herformatteren naar een
"kommagescheiden lijst", dat is een typische taak voor  awk .
(btw:  http://nl.wikipedia.org/wiki/Kommagescheiden_bestand )

Die kun je makkelijk importeren naar jouw tabel, dan analyseren wat je wil doen, en vanuit die tabel dan weer een
"kommagescheiden lijst" exporteren die dan de veranderingen uitvoert.

Klinkt een beetje ingewikkeld, maar dan kun je alle manipulaties in jouw tabel zelf doen. 
En je hebt alleen vrij simpele scriptjes die de "real world" omzetten van en naar die "kommagescheiden lijsten".
(misschien ls2k_list voor het eerste, en k_list2do voor het tweede ?)

Een mogelijk formaat voor de tabel/lijst zou kunnen zijn:
pad_naar_bestand | bestandnaam | datumstempel | grootte | te_nemen_actie

met het laatste veld dan de output wat vervolgens met dit bestand moet gebeuren (hernoemen ? verplaatsen ? wissen ?).

track
« Laatst bewerkt op: 2010/03/03, 19:11:47 door track »

Offline track

  • Lid
Re: Dubbele foto's
« Reactie #8 Gepost op: 2010/01/02, 19:36:46 »
Even een poging voor het script  ls2k_list :

De basisfunctie is  een "ls -l" over de gehele mappenboom vanaf de huidige map gezien:
ls -lAR --full-time > k_list.txtmet de opties:  -l   voor het lange formaat
                     -A  om ook verborgen bestanden mee te nemen
                     -R  "recusief", neemt alle submappen mee
                     --full_time  om de tijdstempel volledig weer te geven
Dit levert zoiets als output:
./etc.adam/xinetd.d:
totaal 6
-rw-r--r-- 1 track admin 563 2003-04-16 18:13 chargen
-rw-r--r-- 1 track admin 580 2003-04-16 18:13 chargen-udp

Dit moet nu nog dmv  awk zodanig gefilterd worden dat de mapnaam (regel 1) even wordt vastgehouden,
niet relevante regels overgeslaan en de rest als bestandsregels netjes komma-gescheiden geprint worden.

Dat worden dus de volgende awk-commando's als filter in het bestand  ls2k_list.awk :
{       if($0 ~ "^[.]") {                               # mapnaam:
                m= "\"" $0;                             # vasthouden
                sub(":$","\"",m);                       # formatteren
                next;
                }
        else if(FNR==2) {                               # "totaal" patroon opnemen -> weg
                n= $1;
                next;
                }
        else if($1==n) next;                            # "totaal" herkend -> weg
        else if($1=="") next;                           # lege regel -> weg
        else if($2=="2") next;                          # mapnaam -> weg
        else {                                          # anders een bestandsnaam:
                f= "";
                for(i=9;i<=NF;i++) f= f " " $i;         # verzamel de woorden van het bestand
                sub("^ ","\"",f);                       # formatteren met ["]
                f= f "\"";
                print(m "," f "," $6, $7 "," $5 ",");   # printen
                } }

en dan moet je nog alles in een scriptje samen oproepen:
#! /bin/bash

ls -lAR --full-time | awk -f ls2k_list.awk > k_list.txt
(je moet het scriptje eerst "uitvoerbaar" maken uiteraard, en zowel het scriptje als het awk-bestand
 moeten in de huidige map staan.  Starten gewoon met een (dubbele) klik op het scriptje)

Je kunt nu het bestand "k_list,txt" naar  OOo calc importeren:
- open OOo calc
- open via [invoegen] - "tabel vanuit bestand" - <navigeer naar het bestand>
- [tekstimport] instellen:  [unicode (utf-8] , en  [√] komma   aanvinken !
- [ ok ]

Lukt het zover ?

track
« Laatst bewerkt op: 2010/01/02, 19:39:38 door track »

Re: Dubbele foto's
« Reactie #9 Gepost op: 2010/01/02, 21:15:21 »
Bedankt Track, dat was mij niet gelukt zonder je hulp. In OOo weet ik wel mijn weg, met scriptjes niet. Ik had nog gawk geïnstalleerd, voor de zekerheid, maar misschien is dit niet nodig geweest. Nogmaals bedankt.
In der Beschränkung zeigt sich der Meister.

Offline BaukeP

  • Lid
Re: [Opgelost]Dubbele foto's
« Reactie #10 Gepost op: 2010/09/09, 01:18:45 »