2つの画像がどれくらい似ているかを客観的に比較したいことがあります。よく使われているSSIM指標とPSNR指標の計算方法について説明します。
SSIM指標の範囲は、0.0〜1.0です。1.0に近いほど似ています。また、0.98以上で、目視で見分けがつかないぐらい同じだそうです。
PSNR指標の範囲は、0〜無限大です。大きいほど似ています。
http://www.jiima.or.jp/pdf/5_JIIMA_guideline.pdf によると、
PSNR | SSIM | 主観評価 |
40〜 | 0.98以上 | 元画像と区別がつかない |
30〜40 | 0.90〜0.98 | 拡大すると劣化がわかる |
〜30 | 〜0.90 | 明らかに劣化がわかる |
ImageMagick同梱のcompareコマンドでSSIM計算できます。
Code language: Bash (bash)$ compare -metric SSIM a.jpg b.jpg NULL: 0.354226
PSNR計算もできます。
Code language: Bash (bash)$ compare -metric PSNR a.jpg b.jpg NULL: 16.8201
計算できる指標の一覧を表示します。
Ubuntu 18.04のImageMagickは6.9.xなので、SSIM計算できませんでした。
Code language: Bash (bash)$ compare -version Version: ImageMagick 6.9.7-4 Q16 x86_64 20170114 http://www.imagemagick.org ...
Code language: Bash (bash)$ compare -list Metric AE Fuzz MAE MEPP MSE NCC PAE PHASH PSNR RMSE
macOSにインストールしたImageMagickは、7.0.8でした。SSIM計算できました。
Code language: Bash (bash)$ compare -version Version: ImageMagick 7.0.8-47 Q16 x86_64 2019-05-30 https://imagemagick.org
Code language: Bash (bash)$ compare -list Metric AE DSSIM Fuzz MAE MEPP MSE NCC PAE PHASH PSNR RMSE SSIM