Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Comparaison d'images

18 réponses
Avatar
Geo Cherchetout
Bonjour,

J'avais quelques centaines de photos de famille en vrac dans une boîte, dont
certaines en plusieurs exemplaires. Je les ai toutes numérisées sans me
soucier de ces multiplicités et les fichiers jpeg résultants sont dans un
répertoire "album". Existe-t-il, sous Linux, un programme capable de dresser
automatiquement une liste des images de ce répertoire qui se ressemblent ?
(Comparer visuellement chacune à toutes les autres me prendrait des heures.)
Merci d'avance pour vos suggestions.

10 réponses

1 2
Avatar
Nicolas George
Geo Cherchetout , dans le message <r77f7i$9mm$, a
écrit :
Existe-t-il, sous Linux, un programme capable de dresser
automatiquement une liste des images de ce répertoire qui se ressemblent ?

Le filtre ssim de ffmpeg peut te dire à quel point deux vidéos se
ressemblent. (Une photo, c'est une vidéo très courte.)
ffmpeg -i photo0002.jpg -i photo0003.jpg -lavfi ssim -f null -
Avatar
Geo Cherchetout
Le 15/04/2020 21:15, *Nicolas George* a écrit :
ffmpeg -i photo0002.jpg -i photo0003.jpg -lavfi ssim -f null -

J'obtiens principalement ce message d'erreur :
[Parsed_ssim_0 @ 0x23498c0] Width and height of input videos must be same.
En effet, à la différence d'images issues d'une caméra, deux photos, même
apparemment identiques, scannées l'une après l'autre, ont très peu de
chances de donner des images ayant exactement la même définition.
Merci quand-même pour la piste ffmpeg à laquelle je n'aurais jamais pensé.
Avatar
Olivier Miakinen
Le 16/04/2020 à 10:36, Geo Cherchetout a écrit :
[...] Width and height of input videos must be same.
[...] images ayant exactement la même définition.

La même définition, ou la même taille ?
Avatar
Geo Cherchetout
Le 16/04/2020 10:48, *Olivier Miakinen* a écrit :
Le 16/04/2020 à 10:36, Geo Cherchetout a écrit :
[...] Width and height of input videos must be same.
[...] images ayant exactement la même définition.

La même définition, ou la même taille ?

Les deux.
Avatar
Cedric Abonnel
Le jeudi 16 avril 2020 11:08:56 UTC+2, Geo Cherchetout a écrit :
Le 16/04/2020 10:48, *Olivier Miakinen* a écrit :
Le 16/04/2020 à 10:36, Geo Cherchetout a écrit :
[...] Width and height of input videos must be same.
[...] images ayant exactement la même définition.

La même définition, ou la même taille ?

Les deux.

Un CROP sur les photos permettrait d'avoir les mêmes résolutions (définition). Cela permettrait de les comparer avec SSIM et d'avoir u ne liste des images presque identiques.
Avatar
Geo Cherchetout
Le 16/04/2020 20:02, *Cedric Abonnel* a écrit :
Un CROP sur les photos permettrait d'avoir les mêmes résolutions
(définition). Cela permettrait de les comparer avec SSIM et d'avoir une
liste des images presque identiques.

OK, merci, on avance. Je pense aussi à une possible pixelisation
simplificatrice...
Avatar
dyrmak
En 8 lignes Geo Cherchetout a écrit
dans news:r7aage$1uq0$
le jeudi, 16 avril 2020 à 21:09:02 :
Le 16/04/2020 20:02, *Cedric Abonnel* a écrit :
Un CROP sur les photos permettrait d'avoir les mêmes résolutions
(définition). Cela permettrait de les comparer avec SSIM et d'avoir une
liste des images presque identiques.

OK, merci, on avance. Je pense aussi à une possible pixelisation
simplificatrice...

Et ffmpeg sait le faire, et je pose une question:
Est-ce possible de distinguer les photos couleur des photos noir et
blanc ?
dyrmak
--
El tren de las cinco de la mañana
++++ --- ++++
Linux operating system
++++ --- ++++
Avatar
Cedric Abonnel
Le jeudi 16 avril 2020 23:02:07 UTC+2, dyrmak a écrit :
Est-ce possible de distinguer les photos couleur des photos noir et
blanc ?

https://ffmpeg.org/ffmpeg-filters.html#toc-ssim
SSIM of the compared frames for the component specified by the suffix.
Avatar
dyrmak
En 8 lignes Cedric Abonnel a écrit
dans news:
le jeudi, 16 avril 2020 à 23:31:59 :
Le jeudi 16 avril 2020 23:02:07 UTC+2, dyrmak a écrit :
Est-ce possible de distinguer les photos couleur des photos noir et
blanc ?

https://ffmpeg.org/ffmpeg-filters.html#toc-ssim
SSIM of the compared frames for the component specified by the suffix.

Merci!
dyrmak
--
Que no me extraña
++++ --- ++++
Linux operating system
++++ --- ++++
Avatar
Geo Cherchetout
Le 15/04/2020 21:15, *Nicolas George* a écrit :
ffmpeg -i photo0002.jpg -i photo0003.jpg -lavfi ssim -f null -

J'ai repéré deux images manifestement issues de tirages d'un même négatif et
j'en ai "resizé" une avec la géométrie de l'autre. Voici ce que dit ffmpeg :
$ ffmpeg -i 0298.jpg -i 0043.jpg -lavfi ssim -f null -
ffmpeg version 4.1.5 Copyright (c) 2000-2020 the FFmpeg developers
built with gcc 8.3.1 (Mageia 8.3.1-0.20190524.1.mga7) 20190524
configuration: --prefix=/usr --enable-shared --enable-pic
--libdir=/usr/lib64 --shlibdir=/usr/lib64 --incdir=/usr/include
--disable-stripping --enable-postproc --enable-gpl --enable-pthreads
--enable-libtheora --enable-libvorbis --disable-encoder=vorbis
--enable-libvpx --enable-runtime-cpudetect --enable-libaom
--enable-libdc1394 --enable-librtmp --enable-libspeex --enable-libfreetype
--enable-libgsm --enable-libcelt --enable-libopus --enable-libopencv
--enable-libopenjpeg --enable-libtwolame --enable-libxavs --enable-frei0r
--enable-libmodplug --enable-libass --enable-gnutls --enable-libcdio
--enable-libpulse --enable-libv4l2 --enable-avresample --enable-opencl
--enable-libmp3lame --enable-sndio --enable-libdav1d
--enable-libopencore-amrnb --enable-libopencore-amrwb --enable-version3
--enable-libx264 --enable-libx265 --enable-libvo-amrwbenc --enable-libxvid
libavutil 56. 22.100 / 56. 22.100
libavcodec 58. 35.100 / 58. 35.100
libavformat 58. 20.100 / 58. 20.100
libavdevice 58. 5.100 / 58. 5.100
libavfilter 7. 40.101 / 7. 40.101
libavresample 4. 0. 0 / 4. 0. 0
libswscale 5. 3.100 / 5. 3.100
libswresample 3. 3.100 / 3. 3.100
libpostproc 55. 3.100 / 55. 3.100
Input #0, image2, from '0298.jpg':
Duration: 00:00:00.04, start: 0.000000, bitrate: 29121 kb/s
Stream #0:0: Video: mjpeg, gray(bt470bg/unknown/unknown), 1366x1974
[SAR 600:600 DAR 683:987], 25 tbr, 25 tbn, 25 tbc
Input #1, image2, from '0043.jpg':
Duration: 00:00:00.04, start: 0.000000, bitrate: 38144 kb/s
Stream #1:0: Video: mjpeg, yuvj444p(pc, bt470bg/unknown/unknown),
1366x1974 [SAR 300:300 DAR 683:987], 25 tbr, 25 tbn, 25 tbc
Stream mapping:
Stream #0:0 (mjpeg) -> ssim:main
Stream #1:0 (mjpeg) -> ssim:reference
ssim -> Stream #0:0 (wrapped_avframe)
Press [q] to stop, [?] for help
[swscaler @ 0x1590440] deprecated pixel format used, make sure you did set
range correctly
Output #0, null, to 'pipe:':
Metadata:
encoder : Lavf58.20.100
Stream #0:0: Video: wrapped_avframe, gray, 1366x1974 [SAR 600:600 DAR
683:987], q=2-31, 200 kb/s, 25 fps, 25 tbn, 25 tbc (default)
Metadata:
encoder : Lavc58.35.100 wrapped_avframe
frame= 1 fps=0.0 q=-0.0 Lsize=N/A time:00:00.04 bitrate=N/A
speed=0.731x
video:1kB audio:0kB subtitle:0kB other streams:0kB global headers:0kB muxing
overhead: unknown
[Parsed_ssim_0 @ 0x1501d80] SSIM Y:0.626271 (4.274437) All:0.626271 (4.274437)
Comment interpréter ce résultat ? Pure curiosité parce que, de toute façon,
je ne saurai jamais écrire un script capable d'automatiser les comparaisons.
Qu'est-ce que c'est que cette histoire de "deprecated pixel format" ?
1 2