سؤال

لدي دليل يحتوي على عدد كبير جدًا من صور 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

قد يكون من الحكمة أيضًا تقييم خيارات المعالجة المسبقة لتقليل الضوضاء. أحادية اللون سيكون من الأسهل تطبيقه، ولكن حلول رائعة أخرى موجود.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top