Alat ini menghitung (dis) kemiripan antara dua atau lebih gambar PNG &/atau JPEG menggunakan algoritma yang mendekati penglihatan manusia. Perbandingan dilakukan dengan menggunakan varian algoritma SSIM.
Nilai yang dikembalikan adalah 1/SSIM-1, dimana 0 berarti gambar identik, dan >0 (tidak terbatas) adalah besarnya perbedaan. Nilai tidak dapat dibandingkan secara langsung dengan alat lain. Lihat di bawah tentang menafsirkan nilai-nilai.
dssim file-original.png file-modified.png
Akan menampilkan sesuatu seperti "0,02341" (lebih kecil lebih baik) diikuti dengan nama file.
Anda dapat memberikan beberapa nama file untuk membandingkan semuanya dengan file pertama:
dssim file.png modified1.png modified2.png modified3.png
Anda dapat menyimpan gambar dengan memvisualisasikan perbedaan antar file:
dssim -o difference.png file.png file-modified.png
Ini juga dapat digunakan sebagai perpustakaan.
Harap perhatikan profil warna pada gambar. Profil yang berbeda, atau kurangnya dukungan untuk profil di alat lain, dapat membuat gambar tampak berbeda meskipun pikselnya sama.
Besarnya perbedaan mulai dari 0 hingga tak terhingga. Ini bukan persentase.
Jika Anda membandingkan dua codec kompresi gambar yang berbeda, pastikan Anda:
Lebih lanjut tentang pembandingan kompresi gambar.
Saat Anda mengutip hasil, harap sertakan versi DSSIM. Skalanya telah berubah antar versi. Versi ini dicetak saat Anda menjalankan dssim -h
.
Unduh dari halaman rilis. Ini juga tersedia di Mac Homebrew dan Ubuntu Snaps.
Anda memerlukan Rust 1.63 atau lebih baru. Kloning repo dan jalankan:
rustup update
cargo build --release
Akan memberi Anda ./target/release/dssim
.
Skor untuk versi 3.2 diukur berdasarkan database TID2013:
TID2013 | Tombak | Kendall |
---|---|---|
Kebisingan | -0,9392 | -0,7789 |
Sebenarnya | -0,9448 | -0,7913 |
Sederhana | -0,9499 | -0,8082 |
Eksotik | -0,8436 | -0,6574 |
Baru | -0,8717 | -0,6963 |
Warna | -0,8789 | -0,7032 |
Penuh | -0,8711 | -0,6984 |
Pastikan untuk membangun proyek perpustakaan dssim-core
, bukan proyek biner dssim
induk.
cd dssim-core
rustup update
cargo build --release
Ini akan membangun target/release/libdssim_core.a
yang dapat Anda tautkan dengan proyek Anda. Gunakan dssim.h
yang disertakan dalam repo dssim. Terserah Anda di mana Anda meletakkan file-file ini.
Alternatifnya, di Linux ada metode yang lebih rumit namun sedikit lebih tepat:
cargo install cargo-c
cargo cinstall --release --destdir=/ --prefix=/usr/lib
Ini akan menginstal libdssim.so
di /usr/lib
dan membuat dssim
tersedia untuk pkg-config
. Lihat target/
untuk semua file yang dibuat dengan cara ini.
DSSIM memiliki lisensi ganda di bawah AGPL atau lisensi komersial.
Untuk kompatibilitas dengan runtime WASM thread tunggal, nonaktifkan fitur Cargo threads
. Ini diaktifkan secara default, jadi untuk menonaktifkannya, nonaktifkan fitur default:
dssim-core = { version = " 3.2 " , default-features = false }