Skip to content

Instantly share code, notes, and snippets.

@scrool
Created January 9, 2022 15:34
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save scrool/9d7b8dc51507a4ccf88dea68b4de1bbe to your computer and use it in GitHub Desktop.
Save scrool/9d7b8dc51507a4ccf88dea68b4de1bbe to your computer and use it in GitHub Desktop.
Read exact duplicates from Digikam Sqlite3 database as csv
attach 'similarity.db' as similarity;
attach 'digikam4.db' as digikam4;
SELECT (a1.identifier || a1.relativePath || '/' || x.di1_name) AS Image1,
(a2.identifier || a2.relativePath || '/' || x.di2_name) AS Image2
FROM (SELECT similarity.ImageSimilarity.value, di1.name AS di1_name, di1.album AS di1_album, di2.name AS di2_name, di2.album AS di2_album
FROM similarity.ImageSimilarity
JOIN digikam4.Images AS di1 ON di1.id = imageid1
JOIN digikam4.Images AS di2 ON di2.id = imageid2
WHERE value=1.0
) AS x
JOIN (SELECT a.id, ar.identifier,relativePath
FROM digikam4.Albums AS a
JOIN digikam4.AlbumRoots AS ar ON ar.id = a.albumRoot
) AS a1 ON a1.id = di1_album
JOIN (SELECT a.id, ar.identifier,relativePath
FROM digikam4.Albums AS a
JOIN digikam4.AlbumRoots AS ar ON ar.id = a.albumRoot
) AS a2 ON a2.id = di2_album;

Run in directory where Digikam's Sqlite3 databases are stored:

sqlite3 -header -csv < digikam_export_duplicates
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment