كيف يمكنني تحويل الصور بدون ألوان إلى تدرج رمادي؟
-
21-12-2019 - |
سؤال
لدي دليل يحتوي على عدد كبير جدًا من صور JPG (عمليات المسح الضوئي للمستندات الورقية)، وجميعها حاليًا بتنسيق sRGB.
العديد منها، وليس جميعها، ليس لها لون فعليًا، أو لها لون فقط كخلفية (على سبيل المثال.ورق ملون أو مسح ضوئي باللون الأبيض الفاتح قليلاً).
أرغب في تحويل تلك الصور بشكل جماعي (ولكن ليس الصور التي لها لون حقيقي) إلى التدرج الرمادي، لتوفير مساحة القرص.
أعتقد أن هناك طريقة ما للقيام بذلك باستخدام ImageMagick، لكني لا أعرف كيف.اقتراحات؟
المحلول
إيماج ماجيك mogrify
ستكون الأداة المساعدة هي الحل الأبسط.
mogrify -path /path/to/output/dir/ -colorspace Gray /path/to/source/files
قد تكون القدرة على تحديد المستند المؤهل كألوان حقيقية محلية للغاية.أقترح تقييم عدد الألوان لكل صورة، وتحويل الصور التي تقل عن حد معين فقط.
THRESHOLD=1024
FILES=`ls /path/to/source/files`
for FILE in ${FILES}; do
COLORS=`identify -format %k "$FILE"`
if [[ $COLORS -lt $THRESHOLD ]]; then
mogrify -path /path/to/output/dir/ -colorspace Gray "$FILE"
fi
قد يكون من الحكمة أيضًا تقييم خيارات المعالجة المسبقة لتقليل الضوضاء. أحادية اللون سيكون من الأسهل تطبيقه، ولكن حلول رائعة أخرى موجود.