Closed tados000 closed 1 year ago
Bonjour,
J'essaie désespérément d'installer le programme
git clone https://github.com/romigrou/ssim.git cd ssim sudo cmake -D RMGR_SSIM_BUILD_CLI=ON -D RMGR_SSIM_NO_OPENMP=ON -D RMGR_SSIM_BUILD_SAMPLE=ON -D RMGR_SSIM_BUILD_TESTS=ON CMakeLists.txt sudo make Makefile
Après je ne vois pas comment lancer le programme en ligne de commande.
Merci pour votre aide
J'ai corrigé quelques problèmes, mais sinon ça devrait être aussi simple que :
git clone https://github.com/romigrou/ssim.git cd ssim make rmgr-ssim-cli bin/linux-*/release/rmgr-ssim
Sans faire de cours, voici quelques infos : pas besoin de sudo pour tout ça et ce n'est pas comme ça qu'on appelle ni cmake ni make, aucun d'eux ne prend en paramètre un fichier.
cmake attend un chemin de répertoire (celui contenant le CMakeLists.txt racine). On peut appeler cmake depuis le répertoire contenant le CMakelists.txt (auquel cas on appelle "cmake .") mais c'est plutôt déconseillé. En général, on crée un répertoire dans lequel cmake va créer tous ses fichiers temporaires, on se met dans ce répertoire et on appelle ensuite cmake. Typiquement : mkdir build cd build cmake ..
En ce qui concerne make, il prend en paramètre le(s) nom(s) d'une ou plusieurs cibles (càd des choses à construire) et utilise le fichier Makefile (dans le cas présent le fichier utilisé est GNUmakefile) se trouvant dans le répertoire courant. Pour changer le répertoire dans lequel make va s'exécuter il faut appeler "make -c repertoire", pour lui spécifier le fichier makefile à utiliser on peut faire "make -f fichier.mk" mais c'est très rare d'en avoir besoin.
Bonjour, Cela fonctionne :-)
Je viens de comparer avec la SSIM de FFMPEG (https://github.com/FFmpeg/FFmpeg/blob/73fada029c527fda6c248785a948c61249fd4b2d/libavfilter/vf_ssim.c).
Les valeurs ne sont assez éloignées : FFMPEG : 0.819918 rmgr-ssim : 0.6313
Qu'en pensez vous?
Bonne année
Bonjour,
En fait, vous comparez des choux et des carottes. Mon programme calcule le SSIM sur chacune des composantes RGB ainsi que la moyenne des trois, tandis que FFMPEG le calcule dans l'espace YUV (qui est celui dans lequel les images JPEG sont encodées) et en dérive une valeur globale qui semble être là aussi une simple moyenne.
Si on regarde la valeur de la composante Y pour FFMPEG on trouve 0.666743 et si on demande à rmgr-ssim de calculer le SSIM sur Y (en utilisant l'option -y) on obtient 0.6859. Ceci me semble plutôt proche, d'autant plus sachant que les formules pour calculer Y sont légèrement différentes (j'utilise celle de BT.709 alors que JPEG utilise celle de BT.601). Si on ajoute à cela que FFMPEG travaille probablement directement dans l'espace YUV tandis dans mon cas l'image JPEG est convertie de YUV vers RGB lors du chargement puis à nouveau vers YUV par mes soins, je pense que la différence de 0.02 devient explicable.
Bonnes fêtes également.
Bonjour, Je débute en linux et j'ai du mal à utiliser le programme.
Pas à pas, voici mes démarches: 1) git clone https://github.com/romigrou/ssim.git 2) cd ssim 3) vim CMakeLists.txt pour mettre sur RMGR_SSIM_NO_OPENMP sur ON, RMGR_SSIM_BUILD_CLI sur ON, RMGR_SSIM_BUILD_SAMPLE sur ON et RMGR_SSIM_BUILD_TESTS sur on 4) cmake CMakeLists.txt 5) make Makefile
A partir de là, je suis bloqué.
Je ne sais pas, en ligne de commande, comment utiliser le programme afin d'obtenir le SSIM entre 2 images.
Merci pour l'aide