該工具使用近似人類視覺的演算法來計算兩個或多個 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 到無窮大。這不是一個百分比。
如果您要比較兩種不同的影像壓縮編解碼器,請確保:
有關影像壓縮基準測試的詳細資訊。
當您引用結果時,請包含 DSSIM 版本。版本之間的比例已變更。運行dssim -h
時會列印該版本。
從發布頁面下載。 Mac Homebrew 和 Ubuntu Snaps 中也提供了它。
您需要 Rust 1.63 或更高版本。克隆存儲庫並運行:
rustup update
cargo build --release
會給你./target/release/dssim
。
根據 TID2013 資料庫測量的 3.2 版分數:
2013年TID | 斯皮爾曼 | 肯德爾 |
---|---|---|
噪音 | -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-core
庫項目,而不是父dssim
進位項目。
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
這將在/usr/lib
中安裝libdssim.so
並使dssim
可用於pkg-config
。請參閱target/
以了解以此方式建構的所有檔案。
DSSIM 根據 AGPL 或商業許可證獲得雙重許可。
為了與單執行緒 WASM 運行時相容,請停用執行threads
Cargo 功能。它預設為啟用,因此要停用它,請停用預設功能:
dssim-core = { version = " 3.2 " , default-features = false }