このツールは、人間の視覚に近似したアルゴリズムを使用して、2 つ以上の PNG および/または JPEG 画像間の類似性 (相違) を計算します。比較は、SSIM アルゴリズムの変形を使用して行われます。
返される値は 1/SSIM-1 です。0 は同一の画像を意味し、>0 (無制限) は差分の量を意味します。値を他のツールと直接比較することはできません。値の解釈については以下を参照してください。
dssim file-original.png file-modified.png
「0.02341」(小さいほど良い) のような内容が出力され、その後にファイル名が続きます。
複数のファイル名を指定して、それらすべてを最初のファイルと比較できます。
dssim file.png modified1.png modified2.png modified3.png
ファイル間の違いを視覚化した画像を保存できます。
dssim -o difference.png file.png file-modified.png
図書館としても使えます。
画像のカラープロファイルにご注意ください。プロファイルが異なる場合、または他のツールでプロファイルがサポートされていない場合、ピクセルが同じであっても画像が異なって見える場合があります。
差の量は 0 から無限大まで変化します。それは割合ではありません。
2 つの異なる画像圧縮コーデックを比較する場合は、次のいずれかを行ってください。
画像圧縮のベンチマークについて詳しく説明します。
結果を引用する場合は、DSSIM のバージョンを含めてください。スケールはバージョン間で変更されています。バージョンは、 dssim -h
実行すると出力されます。
リリースページからダウンロードしてください。 Mac Homebrew や Ubuntu Snap でも利用できます。
Rust 1.63 以降が必要です。リポジトリのクローンを作成して実行します。
rustup update
cargo build --release
./target/release/dssim
が提供されます。
TID2013 データベースに対して測定されたバージョン 3.2 のスコア:
TID2013 | スピアマン | ケンダル |
---|---|---|
ノイズ | -0.9392 | -0.7789 |
実際の | -0.9448 | -0.7913 |
単純 | -0.9499 | -0.8082 |
エキゾチック | -0.8436 | -0.6574 |
新しい | -0.8717 | -0.6963 |
色 | -0.8789 | -0.7032 |
満杯 | -0.8711 | -0.6984 |
親dssim
バイナリ プロジェクトではなく、必ずdssim-core
ライブラリ プロジェクトをビルドしてください。
cd dssim-core
rustup update
cargo build --release
これにより、プロジェクトにリンクできるtarget/release/libdssim_core.a
がビルドされます。 dssim リポジトリに含まれるdssim.h
を使用します。これらのファイルをどこに置くかはあなた次第です。
あるいは、Linux では、より複雑ではありますが、もう少し適切な方法があります。
cargo install cargo-c
cargo cinstall --release --destdir=/ --prefix=/usr/lib
これにより、 libdssim.so
が/usr/lib
にインストールされ、 dssim
pkg-config
で使用できるようになります。この方法で構築されたすべてのファイルについては、 target/
参照してください。
DSSIM は、AGPL または商用ライセンスに基づくデュアルライセンスです。
シングルスレッド WASM ランタイムとの互換性を確保するには、 threads
カーゴ機能を無効にします。これはデフォルトで有効になっているため、無効にするには、デフォルトの機能を無効にします。
dssim-core = { version = " 3.2 " , default-features = false }