كيفية تعديل عدة صور دفعة واحدة باستخدام Terminal في Linux
أحيانًا يحتاج المستخدمون إلى تعديل مجموعة من الصور دفعة واحدة بدلًا من القيام بذلك بشكل فردي. باستخدام Terminal في نظام Linux، يمكنك بسهولة تحرير عدد كبير من الصور في وقت واحد باستخدام أدوات قوية مثل ImageMagick أو Sips. هذه الطريقة توفر الوقت وتزيد من الإنتاجية، خاصةً إذا كنت تعمل مع العديد من الصور التي تحتاج إلى تعديلات متشابهة مثل تغيير الحجم أو تعديل الألوان أو إضافة تأثيرات. في هذه المقالة، سنتناول كيفية استخدام Terminal في Linux لتعديل الصور دفعة واحدة.
ImageMagick هي أداة قوية لسطر الأوامر في Linux لتحرير الصور دفعة واحدة. إليك كيفية استخدامها لقص الصور وتغيير حجمها ودمجها، بالإضافة إلى إزالة معلومات الموقع.
أولاً، قم بتثبيت ImageMagick
يمكن إجراء تحرير الصور دفعة واحدة في Linux باستخدام برنامج ImageMagick. ImageMagick هي أداة مجانية لإنشاء وتحرير الصور من سطر الأوامر، ويمكنها تغيير الحجم والقص والتحويل والتدوير وتنفيذ إجراءات أخرى للصور دفعة واحدة.
تستخدم أمثلة أوامر محطة Linux على هذه الصفحة ImageMagick، والذي يمكنك تثبيته على أنظمة Debian/Ubuntu عن طريق تشغيل:
sudo apt install imagemagick
أو على فيدورا لينكس عن طريق تشغيل:
sudo dnf install ImageMagick
ملاحظة
يجب عليك التحقق من ما تفعله أوامر المحطة الطرفية التي تنسخها/تلصقها من الإنترنت قبل تشغيلها! ورغم أنني شرحت الأوامر في هذه المقالة، إلا أن الأوامر قد يكون لها تأثيرات غير مقصودة على أنظمة مختلفة، ومن المعروف أن بعض الأشخاص ينشرون أوامر تبدو غير ضارة عبر الإنترنت والتي قد تسبب في الواقع قدرًا كبيرًا من الضرر.
إزالة بيانات EXIF من الصور دفعة واحدة
تحتوي بيانات EXIF على معلومات حول الجهاز الذي تم استخدامه لالتقاط الصورة ومعلومات الألوان وبيانات أخرى مفيدة للمصورين. ويمكن أن تتضمن أيضًا موقع التقاط الصورة، وهو أمر يتعلق بالخصوصية إذا كنت تقوم بتحميل الصورة إلى الإنترنت.
يمكنك إزالة جميع بيانات EXIF من دفعة من صور JPG وPNG باستخدام أمر المحطة الطرفية التالي في Linux:
for file in /path/to/source_directory/*.{jpg,jpeg,png}; do convert "$file" -strip "/path/to/output_directory/$(basename "$file")"; done
فيما يلي شرح سريع لكيفية قيام هذا الأمر (والأمر الآخر في هذه الصفحة) بإجراء تحرير مجمع على ملفات صور متعددة:
تتكرر حلقة for على جميع ملفات .jpg و.jpeg و.png (لاحظ أن أسماء الملفات والامتدادات حساسة لحالة الأحرف!) في دليل المصدر. داخل الحلقة، يتم تعيين المسار إلى كل ملف صورة إلى المتغير $file.
يتم تمرير المتغير $file إلى أمر التحويل ImageMagick مع الخيار -strip الذي يخبره بإزالة جميع بيانات EXIF.
المعلمة الأخيرة التي يتم تمريرها إلى أمر التحويل هي مسار ملف الإخراج. في هذه الحالة، يتم حفظ الإخراج في مجلد مختلف بنفس اسم الملف، وبالتالي تظل صورتك الأصلية سليمة.
تغيير حجم الصور دفعة واحدة
يقوم أمر المحطة الطرفية ImageMagick أدناه بتغيير حجم جميع الصور في دليل المصدر إلى 1024 × 768 بكسل باستخدام خيار -resize:
for file in /path/to/source_directory/*.{jpg,jpeg,png}; do convert "$file" -resize 1024x768 "/path/to/output_directory/$(basename "$file")"; done
يمكنك تحديد أي دقة هنا، ولكن ضع في اعتبارك أن صورتك سوف يتم تمديدها إذا لم تتطابق نسبة العرض إلى الارتفاع.
اقتصاص الصور دفعة واحدة
يقوم هذا الأمر بقص الصور دفعة واحدة في دليل إلى 800 × 600 بكسل:
for file in /path/to/source_directory/*.{jpg,jpeg,png}; do convert "$file" -crop 800x600+0+0 "/path/to/output_directory/$(basename "$file")"; done
لاحظ أن 800×600+0+0 تم تمريرها إلى خيار -crop: بت 800×600 هو أبعاد البكسل التي تريد اقتصاصها (مساحة الصورة التي تريد الاحتفاظ بها). بت +0+0 هو إحداثيات البكسل X/Y حيث يجب أن يبدأ الاقتصاص، في هذه الحالة، بدءًا من الزاوية العلوية اليسرى.
إضافة علامة مائية على الصور دفعة واحدة
إن إضافة علامة مائية على الصور هي طريقة سهلة لحماية عملك الإبداعي عند مشاركته مع الآخرين. يضيف أمر محطة طرفية Linux هذا علامة مائية إلى دفعة من الملفات:
for file in /path/to/source_directory/*.{jpg,jpeg,png}; do convert "$file" -gravity southeast -pointsize 20 -draw "text 5,5 'My Watermark'" "/path/to/output_directory/$(basename "$file")"; done
في هذا المثال، يستخدم أمر التحويل خيار -gravity بالتزامن مع خيار -draw لرسم النص “My watermark” بحجم خط 20 في الزاوية اليمنى السفلية (الزاوية الجنوبية الشرقية) لكل صورة. تحدد إحداثيات البكسل 5,5 الإزاحة من الزاوية الجنوبية الشرقية، مما يضيف هامشًا بمقدار 5 بكسل بين نص العلامة المائية وحافة الصورة.
تحويل تنسيقات ملفات الصور
تقوم مجموعة أوامر ImageMagick هذه بتحويل صور JPG إلى PNG:
for file in /path/to/source_directory/*.{jpg,jpeg}; do convert "$file" "/path/to/output_directory/$(basename "${file%.*}.png")"; done
يتم تحديد تنسيق الصورة الناتجة من خلال اسم الملف الذي تعطيه لها. يدعم أمر التحويل الخاص بـ ImageMagick تنسيقات ملفات الصور الشائعة التالية: JPEG وPNG وGIV وTIFF وBMP وSVG وWEBP وHEIC وRAW. كما يمكنه التعامل مع ملفات PDF وصور المتجهات بتنسيق SVG.
تدوير الصور بكميات كبيرة
يمكنك تدوير الصور بكميات كبيرة باستخدام الأمر التالي:
for file in /path/to/source_directory/*.{jpg,jpeg,png}; do convert "$file" -rotate 90 "/path/to/output_directory/$(basename "$file")"; done
استبدل 90 درجة المحددة بالدوران الذي ترغب في تطبيقه.
الانعكاس (مرآة) للصور
استخدم خيارات التحويل “انعكاس وانعكاس” في ImageMagick لانعكاس الصور رأسياً أو أفقياً:
لانعكاس الصور رأسياً أو انعكاسها بشكل مجمع:
for file in /path/to/source_directory/*.{jpg,jpeg,png}; do convert "$file" -flip "/path/to/output_directory/$(basename "$file")"; done
لتقليب الصور بشكل أفقي بشكل مجمع:
for file in /path/to/source_directory/*.{jpg,jpeg,png}; do convert "$file" -flop "/path/to/output_directory/$(basename "$file")"; done
تغيير جودة JPEG
for file in /path/to/source_directory/*.jpg; do convert "$file" -quality 85 "/path/to/output_directory/$(basename "$file")"; done
يضبط هذا الأمر جودة الصور على 85 باستخدام خيار -quality. لاحظ أنه عند تقليل جودة الصورة، لا يمكن استعادة هذه الجودة (حتى بتغيير الجودة مرة أخرى إلى قيمة أعلى).
يتم تعيين جودة JPEG على مقياس من 0 إلى 100، حيث يمثل 100 الحد الأقصى للجودة للتخزين الأرشيفي والتصوير الفوتوغرافي الاحترافي، و60 إلى 75 مناسبًا للمشاركة عبر الإنترنت أو للاستخدام على مواقع الويب. أي شيء أقل من 50 سيبدو رديئًا بعض الشيء، حتى عند مستوى التكبير الافتراضي.
إعادة تسمية الصور بالجملة
يمكن استخدام الأمر cp (نسخ) لإعادة تسمية الصور بالجملة في Linux:
for file in /path/to/source_directory/*.{jpg,jpeg,png}; do cp "$file" "/path/to/output_directory/$(basename "${file%.*}_renamed.${file##*.}")"; done
يضيف هذا المثال النص الذي تمت إعادة تسميته إلى جميع الصور في دليل المصدر.
القص والتشذيب التلقائي
يقوم خيار -trim لأمر التحويل بقص الصور تلقائيًا استنادًا إلى لون الخلفية، والذي يتم تحديده من خلال لون وحدات البكسل في كل زاوية من زوايا الصور:
for file in /path/to/source_directory/*.{jpg,jpeg,png}; do convert "$file" -trim "/path/to/output_directory/$(basename "$file")"; done
يمكن استخدام أداة Montage ImageMagick لإنشاء صور مجمعة ودمج الصور:
montage /path/to/source_directory/*.{jpg,jpeg,png} -tile 2x2 -geometry +5+5 "/path/to/output_directory/collage.jpg
يأخذ هذا الأمر جميع الصور الموجودة في دليل المصدر وينشئ شبكة 2×2 بها باستخدام خيار -tile، مع وجود فجوة 5 بكسل محددة بواسطة خيار -geometry. إذا كان هناك أكثر من 4 صور، فسيتم إنشاء شبكات إضافية لعرضها.
لينكس ❤️ الإبداع
أصبح Linux ذو شعبية متزايدة بين المبدعين. لم يصل برنامج الإبداع الخاص به إلى النقطة التي يمكن استخدامه فيها في السيناريوهات المهنية فحسب، بل يمكن لسطر الأوامر وأدوات الأتمتة الخاصة به توفير الوقت لك في إدارة وتحويل صورك للنشر والمشاركة.