يمكن للإنسان أن يميز حوالي 10 ملايين لون. لإدراكهم ، فأنت تحتاج إلى شيء يعرف باسم لوحة الألوان. تحتوي لوحة الألوان على الأدوات اللازمة لعرض النطاق الكامل للألوان المرئية للعين البشرية. في العالم الحقيقي ، يمكنك استخدامها لإنشاء تصميمات جمالية على الورق بينما تستخدمها رقميًا لإضافة لون إلى عناصر الشاشة.
في النهاية ، يقوم جهاز الكمبيوتر الخاص بك بترميز جميع الظلال المختلفة التي تراها على شاشتك باستخدام تنسيق معين. باستخدام Python ، يمكنك تطوير لوحة ألوان بتشفير RGB في بضعة أسطر من التعليمات البرمجية بفضل وحدة OpenCV و NumPy.
وحدة OpenCV و NumPy
يمكنك تحليل الصور ومقاطع الفيديو باستخدام OpenCV. إنه مجاني ومفتوح المصدر وسهل الاستخدام ومليء بالمكتبات المفيدة. توفر هذه التقنيات لتصنيف الكائنات وتحديد موقعها وتتبعها في بعدين وثلاثة أبعاد. لتثبيت OpenCV في بيئتك ، افتح Terminal وقم بتشغيل:
نقطة تثبيت opencv-python
وحدة NumPy هي مكتبة شائعة أخرى ستشاهد العديد من برامج Python تستخدمها. NumPy - لغة بايثون العددية - هي وحدة نمطية يمكنك استخدامها لتحليل البيانات والحوسبة العلمية. يوفر كائنات مصفوفة ذات أبعاد n كذلك
عمليات رياضية التي تساعد في معالجة هذه المصفوفات.لتثبيت NumPy في بيئتك ، نفِّذ:
نقطة تثبيت numpy
بشكل عام ، ستستخدم OpenCV لمعالجة الصور باستخدام تقنيات مثل اكتشاف الحواف. يمكنك بعد ذلك استخدام NumPy لإجراء تحليل البيانات على الصورة المعالجة. باستخدام هذه المجموعة يمكنك إنشاء وفك رمز الاستجابة السريعةوتصنيف الصور وتنفيذ التعرف البصري على الأحرف وإنشاء أنظمة مراقبة بالفيديو يمكنها اكتشاف الحركة وتتبع الأفراد في الوقت الفعلي.
كيفية إنشاء لوحة ألوان باستخدام لغة بايثون
اتبع هذه الخطوات لإنشاء لوحة ألوان باستخدام وحدة OpenCV و NumPy في Python.
يمكنك العثور على مصدر Color Palette باستخدام Python في هذا جيثب مخزن.
ابدأ باستيراد وحدتي OpenCV و NumPy. تحديد وظيفة تسمى وظيفة فارغة () الذي يحتوي على عبارة المرور. تعمل عبارة المرور كعنصر نائب للرمز الذي يمكنك كتابته في المستقبل. هذا مفيد بشكل خاص مع وظائف مثل createTrackbar ، والتي ستستخدمها لاحقًا. يتطلب وظيفة رد اتصال صالحة ويمكنك تمرير الدالة الفارغة كعنصر نائب في الوقت الحالي.
يستورد السيرة الذاتية 2
يستورد حبيبي مثل np
defفارغة():
يمر
قم بإنشاء مصفوفة ثلاثية الأبعاد بحجم 512 * 512 * 3 بنوع بيانات uint8 باستخدام NumPy's صفر() وظيفة. تتكون كل مجموعة من 512 عمودًا و 512 صفًا. uint8 يمثل عددًا صحيحًا بدون إشارة ، لذلك يملأ البرنامج المصفوفة بالأصفار.
الصورة = np.zeros ((512, 512, 3) ، np.uint8)
قم بتعيين اسم النافذة التي سيعرضها البرنامج وقم بتمريرها إلى ملف اسمهWindow () وظيفة لإنشاء نافذة:
windowName = "لوحة ألوان OpenCV"
cv2.amedWindow (windowName)
بعد ذلك ، قم بإنشاء ثلاثة أشرطة مسار لمكونات اللون الأحمر والأخضر والأزرق. يمكنك القيام بذلك باستخدام ملفات OpenCV إنشاء شريط التتبع () وظيفة. أولاً ، قم بتمرير الملصق على أنه أحمر أو أزرق أو أخضر. ثانيًا ، تحتاج إلى تمرير اسم النافذة حيث تريد وضع هذه الأشرطة على سبيل المثال ، windowName.
المعلمة الثالثة هي الحد الأدنى لشريط المسار ، 0 في هذه الحالة. تحدد المعلمة الرابعة القيمة القصوى ، وهي 255 لقيمة لون 24 بت. المعلمة الخامسة والأخيرة هي وظيفة رد الاتصال التي تتطلب إنشاء Trackbar وظيفة صالحة لـ. هذا هو سبب قيامك بإنشاء دالة فارغة مسبقًا ، لتعمل كعنصر نائب.
cv2.createTrackbar ('أزرق'، windowName ، 0, 255، فارغ
cv2.createTrackbar ('أخضر'، windowName ، 0, 255، فارغ
cv2.createTrackbar ('أحمر'، windowName ، 0, 255، فارغ
قم بتعريف حلقة أثناء لانهائية وقم بتمرير اسم النافذة مع الصورة التي تريد عرضها على OpenCV imshow () وظيفة. نظرًا لأن الصورة تحتوي على مصفوفة ثلاثية الأبعاد من الأصفار ، يعرض البرنامج شاشة سوداء في البداية.
تحقق مما إذا كان المستخدم قد ضغط على مفتاح الهروب عن طريق اختبار القيمة من مفتاح الانتظار () مقابل 27 (رمز ASCII لمفتاح Escape). تعرض وظيفة waitkey () النافذة لعدد معين من المللي ثانية أو حتى تضغط على مفتاح. من خلال تمرير واحد كمدخل ، فإنه يعرض النافذة لمدة مللي ثانية ولكنه يتجدد بسبب الحلقة اللانهائية.
للحصول على الموضع الحالي لشريط المسار ، قم بتمرير اسم شريط المسار مع اسم النافذة إلى getTrackbarPos (). كرر هذه الخطوة لمكونات الألوان الثلاثة المنفصلة ، الأزرق والأخضر والأحمر. استخدم عامل تشغيل الشرائح لتعيين القيم الثلاث لمصفوفة الصور. سيحل هذا محل مجموعة القيم السابقة ، جميع الأصفار مبدئيًا ، بالقيم الحالية وفقًا لمواضع شريط التتبع.
بينما (حقيقي):
cv2.imshow (اسم النافذة ، الصورة)لو cv2.waitKey (1) == 27:
استراحة
أزرق = cv2.getTrackbarPos ('أزرق'، windowName)
أخضر = cv2.getTrackbarPos ('أخضر'، windowName)
أحمر = cv2.getTrackbarPos ('أحمر'، windowName)
صورة [:] = [أزرق ، أخضر ، أحمر]
طباعة (أزرق ، أخضر ، أحمر)
بمجرد أن يضغط المستخدم على مفتاح Escape ، استخدم تدمير جميع النوافذ () لإغلاق النوافذ التي فتحها البرنامج:
cv2.destroyAllWindows ()
أخيرًا ، ضع كل ذلك معًا وقم بتشغيله للتحكم في لوحة الألوان وعرضها.
مخرجات برنامج Python Color Palette
عند تشغيل البرنامج أعلاه ، تظهر نافذة تحتوي على ثلاثة أشرطة مسار للألوان الأزرق والأخضر والأحمر. تتحرك أشرطة المسار من نطاق من 0 إلى 255. عندما تقوم بتغيير قيم الأشرطة المختلفة ، يجب أن ترى ظلال مختلفة من الألوان في القسم أدناه.
في هذا المثال الأول ، يمكنك رؤية إعداد الشريط الأزرق على 0 ، والأخضر 69 ، والأحمر 255. اللون الناتج الناتج هو ظل برتقالي / أحمر. بالإضافة إلى ذلك ، تعرض النافذة الطرفية قيم اللون كـ 0 69255.
وبالمثل ، عند تعيين الشريط الأزرق على 130 ، والأخضر على 0 ، والأحمر على 75 ، ستحصل على لون نيلي.
التطبيقات المختلفة لبرنامج OpenCV
يوفر OpenCV وظائف قيمة لمهام مثل معالجة الصور والتعرف على الكائنات والتعرف على الوجوه والتتبع. باستخدام OpenCV ، يمكنك إنتاج تطبيقات رؤية الكمبيوتر في الوقت الفعلي والتي من شأنها أن تكون نعمة في مجالات مثل الروبوتات والأتمتة الصناعية والتصوير الطبي وأنظمة المراقبة.
مستقبل رؤية الكمبيوتر واعد. ستكون قادرًا على استخدام رؤية الكمبيوتر لمساعدة ضعاف البصر ، وتحقيق نمو أفضل في الزراعة ، وتعزيز السلامة على الطرق باستخدام سيارات القيادة الذاتية ، وحتى التنقل في كواكب أخرى ، مثل المريخ.