تحسب هذه الأداة (عدم) التشابه بين صورتين أو أكثر 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
.
تم قياس نتائج الإصدار 3.2 وفقًا لقاعدة بيانات TID2013:
تيد2013 | الرامح | كيندال |
---|---|---|
ضوضاء | -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.h
المضمن في مستودع dssim. الأمر متروك لك أين تضع هذه الملفات.
بدلاً من ذلك، يوجد في 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 }