قم بأتمتة سير عملك المرئي باستخدام ImageMagick ومعالجة الدفعات

  • يوفر برنامج ImageMagick تثبيتًا مرنًا على أنظمة Linux و macOS و Windows و iOS، مع ملفات ثنائية وتجميع من المصدر.
  • تكمن قوتها في أتمتة العمليات الدفعية عبر سطر الأوامر، وبرامج باش النصية، والروابط للغات متعددة.
  • تتيح سياسات الأمان وتكوين Q8/Q16 HDRI تحقيق التوازن بين الحماية والدقة والأداء.
  • تساهم أدوات مثل حزمة magick للغة R والبرامج النصية المجتمعية في توسيع نطاق سير عمل الصور بشكل كبير.

يماغيماغيك

إذا كنت تعمل مع الصور يوميًا وترغب في أتمتة المهام، يُعد برنامج ImageMagick أحد تلك الأدوات الأساسية وهو أمر يستحق الإتقان. على الرغم من أنه قد يبدو مخيفًا بعض الشيء للوهلة الأولى (خاصةً بسبب أسلوب سطر الأوامر الخاص به)، إلا أنه بمجرد فهم كيفية عمله مع مجموعات الملفات، يصبح أداةً متعددة الاستخدامات لمعالجة الصور الضخمة.

ستتعرف في هذه المقالة على كيفية تثبيت برنامج ImageMagick على أنظمة تشغيل مختلفة، والأهم من ذلك، كيفية الاستفادة منه لـ صور عملية الدُفعاتيمكنك تحويل الصيغ، وتغيير حجم مئات الصور دفعة واحدة، وإنشاء الرسوم المتحركة، والعمل باستخدام البرامج النصية، أو دمجها مع لغات أخرى مثل R وPHP و.NET، أو حتى iOS. كل ذلك استنادًا إلى الوثائق الرسمية والأمثلة العملية وأفضل ممارسات المجتمع.

ما هو برنامج ImageMagick ولماذا هو مفيد جدًا للمعالجة الدفعية؟

يماغيماغيك هو مجموعة برامج مجانية ومفتوحة المصدر متخصص في معالجة الصور النقطية. يتيح لك إنشاء الصور وتعديلها ودمجها وتحويلها إلى عشرات التنسيقات المختلفة: JPEG وPNG وGIF وTIFF وPDF وHEIC وWebP وUltra HDR وغيرها الكثير، وذلك حسب طريقة تجميعها.

تتمثل الميزة الكبرى لبرنامج ImageMagick في معالجة الدفعات في دعمه المتقدم لـ البرمجة النصية والأتمتةبدلاً من النقر واحدة تلو الأخرى في محرر الرسومات، يمكنك تشغيل أمر أو برنامج نصي يمر عبر مئات أو آلاف الصور ويطبق عليها نفس تسلسل العمليات: تحويل التنسيق، وتغيير الحجم، والقص، وإضافة التعليقات النصية، والفلاتر، وما إلى ذلك.

بالإضافة إلى سطر الأوامر، يقدم برنامج ImageMagick واجهات برمجة التطبيقات للغات متعددة يدعم لغات برمجة متعددة (C، C++، Perl، R، .NET، PHP، وغيرها)، مما يسهل دمجه في تطبيقات الويب، والأدوات الداخلية، وخطوط نقل البيانات، أو البرامج النصية من جانب الخادم. وهو مكتوب بلغة C ويعمل على أنظمة Linux وWindows وmacOS، كما تتوفر إصدارات خاصة لنظام iOS.

هذا النهج القابل للأتمتة يجعله يستخدم على نطاق واسع في تطوير مواقع الويب، التصميم الجرافيكي، الفيديو، العلوم، الطب، علم الفلك وفي أي بيئة يتم فيها التعامل مع كميات كبيرة من الصور وتحتاج إلى معالجتها بشكل منهجي.

يماغيماغيك

تثبيت برنامج ImageMagick على أنظمة تشغيل مختلفة

تثبيت نظام لينكس: الملفات الثنائية، وحزم RPM، والتجميع من الكود المصدري

في نظام لينكس، لديك عدة خيارات لتثبيت برنامج ImageMagick، وذلك حسب ما تفضله حزم مُجمّعة مسبقًا أو تجميع من المصدرتغطي الملفات الثنائية الرسمية توزيعات لينكس المختلفة. إذا لم تكن توزيعتك مدرجة ضمن التوزيعات المدعومة، يمكنك دائمًا اللجوء إلى التجميع اليدوي.

في الأنظمة القائمة على RPM (مثل العديد من توزيعات المؤسسات)، يمكنك تثبيت ImageMagick باستخدام حزم قابلة للتثبيت الذاتيومن الأمثلة النموذجية على ذلك:

rpm -Uvh ImageMagick-7.1.2-13.x86_64.rpm

بالإضافة إلى الحزمة الرئيسية، ستحتاج إلى المكتبات الشريكة لكي يعمل البرنامج بشكل صحيح:

rpm -Uvh ImageMagick-libs-7.1.2-13.x86_64.rpm

إذا اشتكى مدير الحزم من وجود تبعيات غير مُلباة، فإن الممارسة المعتادة هي تثبيتها من مستودع EPEL أو غيرها من المستودعات الرسمية لتوزيعتك. بمجرد الانتهاء من ذلك، سيكون برنامج ImageMagick جاهزًا للعمل مع الدُفعات من سطر الأوامر.

إذا كنت تفضل اتباع نهج أكثر عمومية، يمكنك تنزيل الحزمة المضغوطة، وإنشاء مجلد تثبيت، و استخرج الملفات الثنائية من هناك. على سبيل المثال:

cd $ HOME
tar xvzf ImageMagick.tar.gz

بعد الاستخراج، يُنصح بتحديد متغير البيئة MAGICK_HOME يشير إلى الدليل الذي تم فيه نشر الملفات، على سبيل المثال:

تصدير MAGICK_HOME="$HOME/ImageMagick-7.1.2"

لتشغيل الأوامر دون تحديد المسار الكامل، أضف المجلد الفرعي. بن من ImageMagick إلى مسارك:

تصدير PATH=»$MAGICK_HOME/bin:$PATH»

على أجهزة لينكس وسولاريس، من المهم أيضًا تضمين مجلد المكتبات في LD_LIBRARY_PATH حتى يتمكن النظام من تحديد موقع المكتبات الديناميكية:

export LD_LIBRARY_PATH=»${LD_LIBRARY_PATH:+$LD_LIBRARY_PATH:}$MAGICK_HOME/lib»

بمجرد إتمام هذه الخطوات، يمكنك التحقق بسرعة من أن كل شيء يعمل بشكل صحيح عن طريق تشغيل سلسلة من الأوامر الأساسية مثل:

شعار ماجيك: logo.gif
تحديد الشعار.gif
عرض الشعار.gif

إذا رأيت شعار الاختبار الشهير الخالي من العيوب، فأنت تمتلك تشغيل برنامج ImageMagick في بيئة Linux الخاصة بك ومستعدون للبدء في العمل على مجموعات الصور.

تثبيت نظام macOS: Homebrew والملفات الثنائية المُجمّعة مسبقًا

في نظام macOS، عادةً ما تكون أسهل طريقة لتثبيت ImageMagick هي البيرةمدير الحزم الشهير. من سطر الأوامر، قم بتشغيل الأمر التالي:

قم بتثبيت ImageMagick باستخدام Brew

يستفيد برنامج ImageMagick من خطوط Ghostscript في بعض عمليات سير العمل، لذا من الشائع أيضًا تثبيت ما يلي:

تثبيت برنامج Ghostscript باستخدام brew

القيادة خمر سيتولى البرنامج استيراد الملف الثنائي مع تفعيل العديد من المكتبات المفوضة (JPEG، PNG، Freetype، إلخ). لم يعد Homebrew يوفر إصدارات قابلة للتخصيص بدرجة عالية كما كان سابقًا؛ إذا كنت بحاجة إلى خيارات محددة (على سبيل المثال، دعم librsvg لملفات SVG المتقدمة)، يمكنك استخدام توزيعة ImageMagick الرسمية لنظام macOS تفريغ كرة القطران المُجهزة.

في هذه الحالة، سيكون التدفق المعتاد مشابهًا لتدفق نظام لينكس: حيث تختار دليلًا للحزمة، على سبيل المثال مجلدك الرئيسي:

cd $ HOME

ثم استخرج محتويات الملف المضغوط الذي قمت بتنزيله:

القطران xvzf ImageMagick-x86_64-apple-darwin20.1.0.tar.gz

كما في السابق، أنت تحدد MAGICK_HOME يشير إلى الدليل الذي تم فيه استخراج الحزمة:

تصدير MAGICK_HOME="$HOME/ImageMagick-7.1.2"

قم بتحديث متغير PATH حتى لا تضطر إلى كتابة المسار الكامل للملفات الثنائية:

تصدير PATH=»$MAGICK_HOME/bin:$PATH»

وفي نظام macOS، يجب عليك أيضًا ضبط الإعدادات DYLD_LIBRARY_PATH للمكتبات الديناميكية:

تصدير DYLD_LIBRARY_PATH=»$MAGICK_HOME/lib/»

بمجرد الانتهاء من ذلك، يمكنك تشغيل نفس تسلسل الاختبار:

شعار ماجيك: logo.gif
تحديد الشعار.gif
عرض الشعار.gif

ضع في اعتبارك أن البرنامج عرض أنت بحاجة إلى تثبيت خادم X11 على جهاز Mac الخاص بك. إذا لم يكن لديك، فهو موجود على قرص DVD الخاص بنظام macOS الأصلي، أو يمكنك استخدام بدائل مثل XQuartz. في هذا السياق، تذكر أيضًا تحديد ما يلي:

عرض عرض التصدير =: 0

لتجنب تكرار عمليات "التصدير" هذه في كل مرة تفتح فيها الطرفية، فإن أفضل حل عملي هو إضافتها إلى نهاية ملفك ملف .profile أو ما يعادلها (على سبيل المثال، .zshrc إذا كنت تستخدم zsh).

تثبيت نظام iOS: إصدارات محددة ومكتبات ثابتة

إذا كنت ترغب في دمج ImageMagick في تطبيق iOS، فهناك إصدار يتم تحديثه من قبل المجتمع ويحتوي على حزمة مكتبات ورؤوس جاهزة للاستخدام في Xcodeستجد عادةً عبوتين مضغوطتين:

  • iOSMagick-VERSION-libs.zip: يتضمن المكتبات والملفات الرأسية المُجمّعة المستخدمة لتجميع ImageMagick؛ وهي الحزمة التي يحتاجها معظم المطورين عادةً.
  • ملف iOSMagick-VERSION.zipحزمة أخرى تحتوي على باقي المكونات.

كما يتم توفير برنامج نصي يقوم بتجميع برنامج ImageMagick. نظام التشغيل iOS والمحاكي على شكل مكتبة ثابتة يمكنك إضافتها إلى مشروعك. استخدامها بسيط للغاية:

./imagemagick_compile.sh الإصدار

حيث VERSION هو الإصدار المحدد المراد تجميعه، على سبيل المثال 7.1.2-13 س incluso إس إذا كنت تعمل مع كود التطوير. بمجرد انتهاء البرنامج النصي بنجاح، سيتم إنشاء مجلد باسم استوردني والذي يحتوي على كل ما يلزم للاستيراد مباشرة إلى Xcode.

تضيف هذه المجموعة دعمًا لتنسيقات مثل، من بين تنسيقات أخرى. PNG و JPEG و TIFFهذه شائعة جدًا في تدفقات الصور على الأجهزة المحمولة. لضمان ربط المشروع بشكل صحيح، تأكد من ضبط عناصر مثل ما يلي في علامة تبويب "البناء" في Xcode:

  • علامات الربط الأخرى مع قيم مثل -lMagickCore-Q16 -lMagickWand-Q16 -ljpeg -lpng -lbz2 -lz.
  • مسارات البحث في رأس الصفحة تهدف إلى $(SRCROOT) وتم تصنيفها على أنها متكررة.
  • مسارات البحث في المكتبة ويشير أيضًا إلى $(SRCROOT) باستخدام البحث المتكرر.

في قسم الإعدادات المتقدمة، يمكنك إضافة معلمة بناء محددة من قبل المستخدم، على سبيل المثال المفتاح علامات أخرى بشجاعة -Dmacintosh=1 لتعديل بعض السلوكيات الداخلية.

بعض عمليات إعادة الشراء تقدم مشروع نموذجي لنظام iOS على الرغم من أنها ليست محدثة دائمًا، إلا أنها مفيدة لرؤية جميع خيارات Xcode متناسقة والتدرب على أمثلة استخدام ImageMagick في تطبيق أصلي.

تثبيت ويندوز: برنامج التثبيت الرسومي ومديري الحزم

يعمل برنامج ImageMagick على نظام التشغيل Windows ويندوز 10 (x86، x64، arm64) أو أعلىوكذلك على نظام التشغيل Windows Server 2012 والإصدارات الأحدث. على الرغم من أنه يعمل بسلاسة على الأجهزة ذات المواصفات المتوسطة، إلا أنه يُوصى بذاكرة وصول عشوائي (RAM) لا تقل عن 512 ميجابايت؛ فكلما كانت الأجهزة أقوى، كان الأداء أفضل. المعالجة المتوازية متعددة النوى بالنسبة للأراضي.

الطريقة التقليدية لتثبيته هي تنزيل برنامج تثبيت ذاتي التنفيذ من الموقع الرسمي. ما عليك سوى اختيار الإصدار المناسب (32 أو 64 بت، Q8 أو Q16، مع أو بدون DLL) والنقر المزدوج: سيتولى المعالج الباقي، وسيطرح عليك بعض أسئلة التكوين.

الإصدارات ذات الامتداد Q8 في الاسم، يتعاملون مع 8 بتات لكل مكون لوني (على سبيل المثال 8 بتات للقناة الحمراء، و8 للقناة الخضراء، وما إلى ذلك)، بينما الإصدارات Q16 تتيح هذه التقنية استخدام 16 بت لكل قناة. باستخدام Q16، يمكنك قراءة وكتابة صور عالية الدقة دون فقدان الدقة، ولكن استهلاك الموارد يبلغ ضعف استهلاك Q8.

مجموعات تتضمن أسماؤها دلل تم دمج المكتبات كـ مكتبات الارتباط الديناميكيما لم تكن تستخدم نظامًا 32 بت فقط، يُنصح عمومًا بـ إصدار 64 بت مع ملف DLLلأنه يوفر توازناً جيداً جداً بين التوافق والأداء.

بالإضافة إلى برنامج التثبيت الرسومي، يمكنك تثبيت ImageMagick باستخدام الجناحمدير الحزم الحديث لنظام ويندوز، حيث يتم إصدار أحدث الإصدارات باستخدام برنامج Advanced Installer. بعض الأوامر الشائعة هي:

winget install ImageMagick.Q16-HDRI
تثبيت برنامج ImageMagick.Q16 باستخدام winget
تثبيت برنامج ImageMagick.Q8 باستخدام winget

تتوفر أيضًا حزم غير رسمية من خلال جناح، مغرفة، وشوكولاتةعلى سبيل المثال:

تثبيت برنامج ImageMagick باستخدام winget
scoop install main/imagemagick
تثبيت برنامج ImageMagick على Choco

للتأكد من تثبيت كل شيء بشكل صحيح، افتح موجه الأوامر ويرمي:

شعار ماجيك: logo.gif
شعار ماجيك إنتيدنت.gif

في حال ظهور أي أخطاء متعلقة بـ vcomp140.dllيتم حل هذه المشكلة عادةً عن طريق تثبيت حزمة Visual C++ القابلة لإعادة التوزيع بما يتوافق مع إصدار نظام التشغيل Windows لديك. ملاحظة هامة أخرى: في موجه أوامر Windows، يجب عليك استخدام التنصيص في مسارات الأوامر:

ماجيك «e:/misimagenes/original.png» «e:/misimagenes/converted.jpg»

وإذا قمت بإنشاء استدعاءات من VBScript، فسيتعين عليك وضع علامة الهروب قبل علامات الاقتباس المزدوجة، مما ينتج عنه شيء كهذا:

قم بتعيين objShell = wscript.createobject("wscript.shell");
objShell.Exec(«magick «»e:/myimages/original.png»» «»e:/myimages/converted.jpg»»»)

بمجرد التحقق من صحة البيانات، يمكنك بعد ذلك إنشاء نصوص برمجية دفعية لنظام التشغيل Windows تقوم باستدعاء السحر لمعالجة مجلدات كاملة من الصور بنقرة مزدوجة واحدة.

يماغيماغيك

أهم ميزات برنامج ImageMagick للعمل مع الدفعات

جوهر برنامج ImageMagick هو سطر الأوامر الخاص به (السحر, تحول (في الإصدارات القديمة) ومجموعة كبيرة من الخيارات لـ المعالجة الآليةمن بين أقوى ميزات معالجة الدفعات الخاصة بها ما يلي:

  • دعم الرسوم المتحركة وتأثيرات الحركة.
  • المرشحات المتقدمة مثل ضبابية ثنائية الجانب لتنعيم السطح مع الحفاظ على الحواف.
  • إدارة الألوان باستخدام ملفات تعريف ICC ومعالجة جاما.
  • عتبة اللون لإنشاء أقنعة ثنائية من نطاقات لونية.
  • معالجة مكثفة من سطر الأوامر.
  • تركيب الصور (وضع صورة فوق أخرى في مواقع دقيقة).
  • تصنيف المكونات المتصلة لتحليل المنطقة.
  • حساب الأغلفة المحدبة والمربعات الدنيا التي تحيط بالأشياء.
  • الزخرفة بالإطارات والحواف.
  • اكتشاف الحواف والميزات (Canny، mean-shift، Hough).
  • تحويلات فورييه المباشرة والمعكوسة لتحليل التردد.
  • ذاكرة تخزين مؤقتة موزعة للبكسل لأحمال العمل الثقيلة للغاية.
  • رسم الأشكال والنصوص مباشرة على الصورة.
  • تشفير وفك تشفير الصور لبث آمن.
  • التحويل بين الصيغ (على سبيل المثال، من PNG إلى JPEG (على دفعات).
  • تشوهات هندسية معقدة، بما في ذلك المنظور والتحويلات المخصصة.
  • دعم OpenCL والمعالجة غير المتجانسة على وحدة المعالجة المركزية ووحدة معالجة الرسومات.
  • صور ذات نطاق ديناميكي عالٍ (HDR) بتفاصيل دقيقة في المناطق المضيئة والظلال الشديدة.
  • معادلة الرسم البياني التكيفي لوحدة التحكم الإلكترونية لتحسين التباين.
  • حساب وتخزين الصور والتسلسلات والفيديوهات والبيانات الوصفية مؤقتًا.
  • حاسبة البكسل التي تطبق التعبيرات الرياضية على القنوات.
  • توليد تدرجات بأشكال مختلفة (خطية، شعاعية، بيضاوية).
  • تحديد مفصل للتنسيق والحجم ومساحة اللون والبيانات الوصفية.
  • دعم تسلسلات الفيديو وتنسيقات السينما الرقمية.
  • أعمل مع صور متعددة الأطياف تصل إلى عشرات النطاقات.
  • تقليل الضوضاء باستخدام مرشحات متخصصة (كواهارا، متوسط ​​الإزاحة، إلخ).
  • هاش إدراكي للكشف عن الصور المتشابهة بصريًا.
  • المؤثرات الخاصة الكلاسيكية: التمويه، التركيز، التلوين، العتبة، إلخ.
  • إدراج النصوص والتعليقات الوصفية أو الفنية.
  • دعم تعدد الخيوط (OpenMP) لتحقيق أقصى استفادة من وحدات المعالجة المركزية متعددة النوى.
  • تغييرات في الحجم، والتدوير، والقص، والقلب، والتقويم.
  • إدارة الشفافية والبكسلات الافتراضية (الإحداثيات خارج الصورة).

عندما تجمع هذه الإمكانيات في نص برمجي أو أمر مُحكم البناء، يمكنك أتمتة المهام اليومية مثل إنشاء صور مصغرة لموقع ويب، وتوحيد الأحجام قبل تدريب نموذج الذكاء الاصطناعي، أو تحويل دفعات من مستندات PDF إلى صور.

الأمن والسياسات والأداء في بيئات الإنتاج

بفضل قوتها الكبيرة، يمكن أن يكون برنامج ImageMagick أيضًا سطح الهجوم إذا قمت بعرضها دون تحكم على الأنظمة التي تستقبل ملفات المستخدمين (على سبيل المثال، تحميل الصور على موقع ويب). لهذا السبب يوصي المطورون بتحديد سياسة أمنية مصممة خصيصًا لبيئتك منذ اللحظة الأولى.

تتضمن أحدث إصدارات الفرع 7 العديد من ملفات تعريف السياسات المحددة مسبقًا —مفتوح، محدود، آمن، وآمن على الإنترنت— والتي تحدد العمليات المسموح بها، والتنسيقات المقبولة، وحدود الموارد، وما إلى ذلك. يمكنك البدء بأحدها، وتعديله وفقًا لاحتياجاتك، ثم تحقق من ذلك باستخدام أداة التحقق من السياسة ما يقدمه المشروع نفسه.

من ناحية أخرى، إذا كنت تستخدم إصدارات أقدم، فهناك موقع ImageMagick "القديم" مع الفرع 6.9.13-38، ولكن التوصية الرسمية هي الانتقال إلى الفرع 7، وهو أكثر دقة من حيث الأمان، وخط أنابيب الأوامر، والأداء.

وبالحديث عن الأداء، فإن ImageMagick مصمم افتراضيًا على النحو التالي: Q16 HDRIهذا يعني 16 بت لكل قناة ودعم القيم الخارجة عن النطاق (مثل القيم السالبة أو التي تتجاوز الحد الأقصى المُعَيَّر)، وذلك باستخدام عمليات الفاصلة العائمة بشكل أساسي. إنه مثالي للمعالجة عالية الجودة، ولكن يستهلك المزيد من الذاكرة ووقت وحدة المعالجة المركزية..

إذا لم تتطلب عمليات المعالجة الدفعية لديك دقة عالية، يمكنك تعطيل HDRI وتقليل العمق إلى Q8 بدون HDRIبحسب الوثائق، يُقلل هذا من استهلاك الذاكرة لكل تغيير إلى النصف، ويعود إلى استخدام عمليات الأعداد الصحيحة، وهي عادةً أسرع. بالنسبة لإصدار Q8 غير المتوافق مع HDRI على نظام Linux، تُستخدم خيارات تهيئة مثل ما يلي:

–with-quantum-depth=8 –disable-hdri

في الإصدار 7.1.1-16 والإصدارات الأحدث، يمكن تفعيل الدعم لما يصل إلى قنوات 64 إضافة الخيار إلى إعدادات نظام لينكس –enable-64bit-channel-masksفي نظام التشغيل ويندوز، يتم تفعيل هذه الخاصية تلقائيًا في الإصدار الحديث.

التشغيل الآلي الشامل على أنظمة لينكس وماك أو إس باستخدام نصوص باش

إحدى أكثر الطرق شيوعًا للاستفادة من ImageMagick في عمليات المعالجة الدفعية هي دمجها مع نصوص باش على أنظمة شبيهة بنظام يونكس. وقد أنشأ المجتمع مجموعة ضخمة من البرامج النصية لجميع أنواع التأثيرات: التحويلات الهندسية، والتشويش، وإزالة الضوضاء، وتحليل الشكل، ومرشحات التردد، وما إلى ذلك.

تتضمن الإرشادات النموذجية لاستخدامها ما يلي:

  1. تأكد من أن لديك آلة حاسبة دقيقة BC، والتي تستخدمها العديد من الإجراءات الداخلية للتعامل مع الأرقام العشرية.
  2. قم بتنزيل البرنامج النصي، وإذا كان له الامتداد .dmsأعد تسميته لإزالته أو غيّره إلى .sh.
  3. امنح صلاحيات تنفيذ الملف باستخدام أمر مشابه لما يلي: chmod u+x script.sh.
  4. حدد المسار الفعلي لـ تحويل / سحر يعمل في المحطة اكتب -a تحويل وإذا ظهرت مسارات متعددة، فراجع النسخة الموجودة على كل منها مع path/convert -version لتحديد أي منهما يجب استخدامه.
  5. قم بتعديل متغير PATH الخاص بالنظام ليشمل المجلد الذي يوجد فيه برنامج ImageMagick (غالباً / البيرة / بن o / البيرة / المحلية / بنأو قم بتعديل النص البرمجي بإضافة شيء مثل:
    imdir="/usr/local/bin"
    PATH="${imdir}:${PATH}"
  6. قم بتشغيل البرنامج النصي من خلال سطر الأوامر. سحق مع بناء الجملة:
    bash /full/path/script.sh arguments /input/path /output/path

لتسهيل حياتك، يُنصح غالبًا بإنشاء مجلد مخصص لبرامجك النصية أضف ImageMagick إلى مسار النظام (PATH). بهذه الطريقة، يمكنك استدعاء البرنامج بالاسم دون الحاجة إلى كتابة المسار الكامل، وستجد البرامج النصية التي تستدعي برامج نصية أخرى بعضها البعض دون مشاكل.

إذا ظهرت لك رسائل غريبة عند استخدام خيار المساعدة في بعض البرامج النصية، فقد تحتاج أحيانًا إلى قم بتعديل الأسطر التي تستخدم sed لعرض الوثائق المضمنة، اقترح المجتمع عدة بدائل لتجنب تكرار النص. وبالمثل، تعتمد العديد من البرامج النصية على AWK وفي بعض توزيعات لينكس، لا يعمل برنامج AWK الافتراضي كما هو متوقع، لذا قد يكون من المستحسن تثبيت البله بشكل صريح، وتأكد من أنه هو الذي يتم تنفيذه.

تتضمن مجموعة البرامج النصية تحديثات متكررة، ومشاكل موثقة تم إصلاحها، وأدوات محددة لـ تحويل فورييه السريع، وإزالة الالتفاف، والمرشحات المكانية، وتحليل الشكلتم استبدال العديد من تلك البرامج النصية القديمة بميزات ImageMagick الأصلية (على سبيل المثال، -التسوية التلقائية, السطوع والتباين, -علم التشكل المورفولوجيا, -تشويه البرميل/إزالة الاستقطاب, مقارنة - مقياس ssimإلخ)، لكنها تظل مصدر إلهام قاسٍ لإعداد عمليات الدفعات الخاصة بك.

استخدام متقدم في لغة البرمجة R مع حزمة magick

إذا كنت تعمل في مجال علم البيانات أو التحليل الإحصائي، فمن المحتمل أنك تستخدم لغة R. في هذه البيئة، الحزمة السحر يوفر تصميمًا عصريًا ملتفًا حول ImageMagick STL، مع واجهة برمجة تطبيقات اصطلاحية للغة R ودعم قوي للصور المتجهة.

في نظامي التشغيل ويندوز وماك أو إس، أسهل طريقة هي تثبيته من CRAN باستخدام:

install.packages("magick")

تأتي ملفات CRAN الثنائية مُهيأة مسبقًا مع تفعيل معظم الميزات ذات الصلة. لمعرفة الميزات المتوفرة في تثبيتك المحدد، يمكنك استخدام magick_config()، والتي تتضمن تفاصيل الإصدار، والوظائف النشطة (cairo، fontconfig، freetype، heic، rsvg، webp، إلخ) والوظائف المعطلة.

في نظام لينكس، لتجميع برنامج ماجيك من الكود المصدري، تحتاج أولاً إلى... مكتبة تطوير ImageMagick++إذا كنت تستخدم نظام Debian/Ubuntu، فسيكون اسمه شيئًا مثل:

sudo apt-get install libmagick++-dev

في أنظمة فيدورا، وسنت أو إس، وRHEL، تكون الحزمة عادةً تطوير ImageMagick-c++، قابلة للتثبيت باستخدام yum أو dnf:

sudo yum install ImageMagick-c++-devel

وأخيرًا، على نظام macOS، إذا كنت ترغب في التجميع من المصدر، فستحتاج إلى imagemagick أو imagemagick@6 تم التثبيت بواسطة Homebrew:

قم بتثبيت imagemagick@6 باستخدام brew

بمجرد تحميل الحزمة مكتبة (ماجيك)يمكنك قراءة الصور من المسارات المحلية، عناوين المواقع الإلكترونية، أو المتجهات الخام باستخدام قراءة الصورة. الوظيفة معلومات الصورة يُقدّم لك معلومات أساسية (التنسيق، العرض، الارتفاع، مساحة اللون، الكثافة، إلخ)، وهو أمر مشابه للأمر تحديد من واجهة سطر الأوامر لبرنامج ImageMagick.

لكتابة الصور، يمكنك استخدام كتابة الصورةيتيح لك هذا حفظ كائن الصورة على القرص بأي تنسيق تريده، أو، في حال عدم تحديد مسار، إعادة البايتات إلى الذاكرة. يمكنك تحديد التنسيق باستخدام المعامل. شكل لتحويل الملف إلى نوع آخر دون الحاجة إلى تغيير اسمه.

من النقاط الأساسية للعمل مع الدفعات أن الكائنات السحرية هي المتجهيمكنك الحصول على متجه من الصور وتطبيق وظائف متجهة (القص، تغيير الحجم، إضافة التعليقات، الفلاتر، التركيبات) التي تعمل على جميع العناصر. علاوة على ذلك، تُرجع هذه الوظائف نسخة معدلة من الصورةلذلك، من السهل ربط التحويلات باستخدام الأنابيب (المشغل). |> أو %>%)، وهو أمر يتناسب تمامًا مع فلسفة لغة البرمجة R.

العمل مع التسلسلات والطبقات والرسوم المتحركة

أحد المفاهيم القوية في ImageMagick والمطبقة على المعالجة الدفعية هو مفهوم صور متجهةفي لغة R magick، وكذلك من واجهة سطر الأوامر، من الشائع التعامل مع سلسلة من الصور (على سبيل المثال، إطارات GIF أو صفحات PDF) كمجموعة مرتبة يمكنك تطبيق تحويلات مجمعة عليها.

عند قراءة ملف GIF متحرك أو ملف PDF، على سبيل المثال، يصبح كل إطار أو صفحة... عنصر من عناصر المتجهمع عمليات مثل إضافة صورة, صورة فسيفسائية, تسطيح الصورة, تحريك الصورة o image_morphيمكنك إنشاء شرائط صور مصغرة، أو فسيفساء، أو مونتاجات، أو صور GIF متحركة جديدة، أو التحولات التدريجية بين الصور.

على سبيل المثال، يمكنك إنشاء رسوم متحركة من طبقات متعددة عن طريق تغيير حجمها جميعًا إلى "200×200"، ثم استخدام تحريك الصورة بمعدل إطارات معين وحفظ النتيجة باستخدام كتابة الصورةوبالمثل، إذا قمت باستيراد صورة GIF موجودة وتريد تعديلها، فستعمل إطارًا بإطار، وستطبق الفلاتر أو الحدود أو التعليقات التوضيحية، وفي النهاية تقوم بإعادة بناء التسلسل.

في حالة مستندات PDF الطويلة، عند استخدام image_read_pdf يمكنك تحديد كثافة العرض من البداية (على سبيل المثال، 72 نقطة في البوصة)، وبذلك تصبح كل صفحة جاهزة للمعالجة الدفعية: القص، وتغيير الحجم، والدمج، وما إلى ذلك. وهذا مفيد للغاية عندما تحتاج إلى إنشاء معاينات المستندات أو استخراج الصفحات كصور فردية.

ImageMagick في بيئات الويب ولغات أخرى

بالإضافة إلى لغة البرمجة R، يتكامل برنامج ImageMagick بشكل جيد للغاية مع بيئات البرمجة الأخرى. برامج نصية متخصصة للغة PHP يتم استدعاء هذه الأوامر باستخدام الأمر `exec` من الخادم، مع تمرير مسارات الإدخال والإخراج ومعاملات التأثير. إرشادات الاستخدام مشابهة لتلك الخاصة بلغة باش، ولكنها مُكيّفة مع بيئة الويب (تعديل متغير PATH، والأذونات، والمسارات المطلقة، إلخ).

إذا كنت تعمل مع .NET، فلديك تحت تصرفك Magick.NETImageMagick هي مكتبة تُتيح الوصول المباشر إلى وظائف ImageMagick لتطبيقات C# دون الحاجة إلى تثبيت البرنامج بشكل منفصل. وهي مثالية لإعداد خدمات تحويل الصور ومعالجة الدفعات في واجهات برمجة تطبيقات REST، أو مهام الخلفية، أو مشاريع سطح المكتب.

بالإضافة إلى ذلك، يتضمن نظام ImageMagick البيئي أمثلة رسمية لاستخدام واجهة سطر الأوامر و"كتاب طبخ" يحتوي على وصفات محددة لنظام التشغيل ويندوز، ويغطي مهامًا مثل تركيب الصور، وإنشاء الصور المصغرة، والمقارنة المرئية، والمزيد.

أما بالنسبة للمستخدمين المتقدمين، فهناك أيضًا أدوات خارجية وبرامج نصية مجتمعية مثل البرنامج الشهير سكربتات فريد لبرنامج ImageMagickتشمل هذه الميزات تأثيرات فنية (مثل التصوير اللوموغرافي، والطباعة، والتبلور، والبوكيه، وتوهج النصوص، وغيرها) وحلولاً عملية لمشاكل واقعية (مثل عكس دوران الصور، وإزالة العلامات المائية، وتحديد زوايا الأشكال الرباعية، واقتصاص المحتوى ذي الصلة، وغيرها). ويمكن دمج العديد من هذه البرامج النصية بسهولة في عمليات المعالجة الدفعية.

في النهاية، تكمن قوة برنامج ImageMagick في معالجة الدفعات في الجمع بين قائمة شاملة بالوظائف الداخليةإن تكامله مع لغات برمجة مثل R و.NET وPHP، بالإضافة إلى الكم الهائل من البرامج النصية والأمثلة التي أنشأها المجتمع والتي تغطي كل شيء من المهام البسيطة إلى التحويلات الرياضية المتقدمة، يجعله أداة قوية. وعند تهيئته بشكل صحيح وتطبيق سياسة أمان مناسبة، يصبح أداةً بالغة الموثوقية لأي سير عمل جاد يتضمن كميات كبيرة من الصور.

ImageMagick على نظام التشغيل Windows 11
المادة ذات الصلة:
كيفية استخدام ImageMagick كمحرر للصور في Windows: الأوامر الأساسية والأمثلة