OpenCV
OpenCV كل من حاول كتابة برنامج كمبيوتر يعرف مدى صعوبة ذلك. يرحب مجتمع البرمجة بأي تطبيق يساعد في تخفيف ضغوط تطوير التطبيقات وتسريع إجراءات التطوير. تم تصميم هذا التطبيق لتوفير العديد من الخوارزميات مفتوحة المصدر التي تمكن المبرمجين من دمج القدرات المتقدمة في برامجهم. يدعم التطبيق أنواعًا مختلفة من لغات البرمجة مثل C ++ و C و Python و Java. تركز معظم الخوارزميات على تطبيقات الوقت الفعلي التي تستفيد من إمكانات المعالجة متعددة النواة لأجهزة الكمبيوتر الحديثة.
OpenCV
تم تصميم البرنامج في شكل معياري يخدم الاحتياجات المختلفة للمبرمجين المختلفين. تتضمن بعض الوحدات "Core" الذي يقدم بنية ووظائف البيانات الأساسية والبعض الآخر يخط Imgproc و Video و Calib3d و Features2d و Highgui المصممة لإنجاز مهام برمجة مختلفة. على سبيل المثال ، تتكون وحدة الفيديو من خوارزميات مختلفة لعمليات تجريد الخلفية وتقدير الحركة بينما تتحكم المكونات في وحدات Imgproc في أنظمة معالجة الصور والترشيح وخيارات التحرير. يضيف هذا البرنامج قيمة لعمل مطوري التطبيقات.
OpenCV ، وهو اختصار لـ Open Computer Vision ، هو برنامج معقد يقدم للمطورين سلسلة من الخوارزميات في شكل مفتوح المصدر ، حتى يتمكنوا من دمج القدرات المتقدمة في برامجهم وتوفير الوقت المطلوب بخلاف ذلك للقيام بكل شيء بأنفسهم.
تأتي الحزمة مع واجهات للعديد من الأنظمة الأساسية بخلاف Windows ، وتدعم العديد من لغات البرمجة المختلفة ، مثل C ++ و C و Python و Java . ينصب تركيزها الرئيسي على التطبيق في الوقت الفعلي ، حيث يتم تطويره بطريقة يمكن أن تستفيد بنجاح من إمكانات المعالجة متعددة النواة للنظام.
يأتي OpenCV مع عدة وحدات مختلفة ، كل منها يخدم احتياجات مختلفة ، مع استكمال بعضها البعض. على هذا النحو ، يوفر "Core" للمستخدمين هياكل ووظائف البيانات الأساسية ، بينما يعمل مكون "Imgproc" كطريقة لمعالجة الصور ، بما في ذلك تصفية الصور (الخطية وغير الخطية) ، بالإضافة إلى خيارات تحرير الصور الأخرى (تغيير الحجم) أو تزييفها أو إعادة رسم خرائطها) أو تحويل مساحة اللون.
في وحدة "الفيديو" ، يمكن للمستخدمين العثور على العديد من الخوارزميات القوية التي تهدف إلى تقدير الحركة وتتبع الكائنات وعمليات الطرح في الخلفية. يشتمل مكون "Calib3d" على خوارزميات هندسية متعددة العرض ، مما يوفر العديد من الإمكانات ، مثل معايرة الكاميرا أو إعادة البناء ثلاثي الأبعاد.
تشتمل وحدة "Features2d" على الواصفات وأدوات المطابقة ، بالإضافة إلى أدوات الكشف عن الميزات البارزة. باستخدام مكتبة "Objdetect" ، يمكن للمستخدمين العثور على كائنات مختلفة من فئات محددة مسبقًا (على سبيل المثال السيارات والوجوه والعينين وما إلى ذلك).
يتضمن OpenCV أيضًا "Highgui" ، وهي وحدة تهدف إلى العمل كواجهة مستخدم لالتقاط الفيديو وبرامج ترميز الصور والفيديو. تحتوي وحدة "GPU" على خوارزميات مخصصة لمهام تسريع وحدة معالجة الرسومات. أيضًا ، يمكن العثور على مكتبات مساعدة معينة ، وهي FLANN أو أغلفة اختبار Google.