أوبن سي في
المحتويات

على سبيل التعريف، أوبن سي في (OpenCV). أو المكتبة البرمجية المفتوحة للرؤية الحاسوبية هي مكتبة اقترانات برمجية تهدف بشكل أساسي لتطوير الرؤية الحاسوبية، طورتها شركة أنتل (Intel) وتعاقب على دعمها لاحقًا شركتي ويلو غارج (Willow Garge) للروبوتيات وإتسيز (Itseez) وأخير شركة إنتل مجددا بعد استيلائها على شركة Itseez منذ 2016. المكتبة مجانية كونها تحت رخصة المصدر المفتوح (open source BSD license). ويمكن استخدامها على أغلب الأنظمة الحاسوبية التي تدعم لغة سي وسي++. تركز بشكل أساسي على معالجة اللحظية للصور (real-time). وتعرض الأقسام التالية جوانب أخرى من الموضوع.
من جهة ثانية، إذا وجدت المكتبة على النظام ما يدعى بدائيون الأداء المتكامل (Integrated Performance Primitives) المطورة من قبل شركة أنتل (Intel) فسوف تستعمل هذه الإجراءات التحسينية ذات الرخصة الخاصة للتسريع من عملها.
تركيبة المكتبة
من جهة ثانية، objdetect - كشف عن وجوه وحالات من الفئات المحددة مسبقا (مثلًا، وجوه، وعيون، وأكواب، والناس، والسيارات، وهلم جرا).
وفي هذا الصدد، imgproc - وحدة معالجة الصور التي تتضمن صورة الخطية وغير الخطية والترشيح، والتحولات صورة هندسية (تغيير الحجم، تزييفها أفيني والمنظور، عام الخارطة المستندة إلى الجدول)، وتحويل لون الفضاء، رسوم بيانية، وخصائص أخرى.
ومن ناحية أخرى، highgui - وهي سهلة الاستخدام واجهة لالتقاط الفيديو والصورة والفيديو الترميز، فضلا عن قدرات واجهة المستعمل بسيطة.
في هذا الإطار، core - وحدة نمطية مدمجة لتحديد هياكل البيانات الأساسية، المستعملة من قبل جميع وحدات أخرى.
من جهة ثانية، video - وحدة تحليل الفيديو التي تتضمن تقدير الحركة، خلفية الطرح، والخوارزميات تتبع الكائن.
من جانب آخر، calib3d - متعددة مشاهدة الخوارزميات الهندسة الأساسية، واحد وستيريو معايرة الكاميرا، وجوه تشكل تقدير، خوارزميات المراسلات ستيريو، وعناصر إعادة الإعمار 3D.
features2d - كشف البارزة ميزة، واصف، واصف matchers.
تحتوي مكتبة Opencv عدة أدوات وهي:
GP/U - خوارزميات GPU تسارع من مختلف وحدات OpenCV.
المتطلبات الأساسية Linux
توفر الحزم التالية:
المتطلبات الأساسية Windows
في هذا الإطار، BaseClasses منDirectShow SDK هو مطلوب لبناء بعض مدخلات الكاميرا وأجزاء ذات الصلة لمكتبة OpenCV على ويندوز. تم العثور على هذا في مجلد Microsoft Platform SDK
كذلك، Samples\Multimedia\DirectShow\BaseClasses ; (أو DirectX SDK 8.0 to 9.0c / DirectX Media SDK prior to 6.0)
الذي يجب أن يبنى قبل بناء OpenCV.
hScale, vScale, 0, lineWidth );
من جهة ثانية، cvPutText( img, "Hello World!", cvPoint( 200, 400 ), &font,// كتابة النص بالخط المهيئ
libpng++-dev libjpeg62-dev libtiff4-dev libjasper-dev \
- libavcodec-dev cmake subversion gir1.0-gtk-2.0 libavformat-dev \
- libswscale-dev libdc1394-22-dev libv4l-dev libgstreamer0.10-dev \
- libgtk2.0-dev pkg-config
- مثال في استخدام المكتبة
- يتم استخدام لغة C
- #include
تاريخ
من جانب آخر، كان الإصدار الرئيسي الثاني من OpenCV في أكتوبر 2009. OpenCV 2 يتضمن تغييرات كبيرة في واجهة + + C، تهدف إلى أسهل، وأكثر أنماط نوع والآمن، وظائف جديدة، وتطبيقات أفضل لتلك القائمة من حيث الأداء (وخاصة على أنظمة متعددة النوى). تحدث النشرات الرسمية الآن كل ستة أشهر ويتم تطوير الآن من قبل فريق الروسي مستقلة تدعمها الشركات التجارية.
كذلك، نشر المعرفة الرؤية من خلال توفير بنية تحتية مشتركة للمطورين يمكن بناء عليها، بحيث الكود ا والشيفرا المصدرية تسيكون أكثر قابلية للقراءة بسهولة وقابلة للتحويل.
وفي السياق ذاته، في آب 2012، واتخذ الدعم لOpenCV أكثر من قبل مؤسسة غير هادفة للربح، OpenCV.org، الذي يحافظ على المطور وموقع المستعمل.
علاوةً على ذلك، تقدم للتطبيقات التجارية مكتبة محمولة ومتنسقة وإتاحة كود حر بدون تقييد المستعمل في مشروعه سواء الحر أو التجاري.
وعلى صعيد آخر، تطوير الأبحاث الرؤية من خلال توفير كود مصدري، كذلك تقيح البنية التحتية للأساسية الرؤية. لا مزيد من إعادة اختراع العجلة.
وعلى صعيد آخر، أطلقت رسميا في سنة 1999، وكان المشروع في البداية OpenCV مبادرة أبحاث إنتل لتعزيز تطبيقات وحدة المعالجة المركزية الكثيفة، وهو جزء من سلسلة من المشاريع بما في ذلك في (المشروع الوقت اللحظي لتعقب الشعاع وجدران ثلاثي البعد). تضمنت المشروع مساهمين رئيسيين وعدد من الخبراء من إنتل روسيا، فضلا عن فريق مكتبة الأداء من إنتل. في الأيام الأولى من OpenCV، وقد سطرت أهداف المشروع كتالي:
ومن ناحية أخرى، تم الإفراج عن النسخة ألفا الأولى من OpenCV للجمهور في مؤتمر IEEE للرؤية الحاسوبية والتعرف على الأنماط في سنة 2000، وأفرج عن خمسة بيتا بين عامي 2001 و 2005. تم الإفراج عن الإصدار 1.0 لأول مرة في عام 2006. في منتصف عام 2008، وحصل OpenCV دعم الشركات من Willow Garage، والآن هو قيد التطوير والنشط. وصدر الإصدار 1.1 «ما قبل النشر» في أكتوبر 2008.
{
كذلك، IplImage *img = cvCreateImage( cvSize( 640, 480 ), IPL_DEPTH_8U, 1 );// إنشاء صورة
- CvFont font;// إنشاء نوع خط
- double hScale = 1.0;// إنشاء متغاير
- double vScale = 1.0;
cvNamedWindow( "My Window", 1 ); // إنشاء نافذة
#include
int main ( int argc, char **argv )
واقع معزز
إضافةً إلى ذلك، لدعم بعض المجالات المذكورة أعلاه، OpenCV يتضمن مكتبة تعلم الآلة الإحصائية التي تتضمن ما يلي:
- بوسترينغ
- شجرة تعلم القرارات
- ميل بوسترينغ
- خوارزمية تعظيم التوقعات
- مصنف naive Bayes
- شبكات عصبونية اصطناعية
- غابة العشوائية
- آلة المتجهات الإعتمادية
لغة البرمجة
- يتم كتابة جميع التطورات وخوارزميات جديدة في OpenCV الآن في + + C .
- الآن واجهة GPU المستندة من CUDA في التقدم منذ سبتمبر 2010.
- الآن واجهة GPU المستندة من OpenCL في التقدم منذ أكتوبر 2012 وثائق للنسخة 2.4.5.
ومن ناحية أخرى، مكتبة OpenCV مصنوعة بلغة C + + كا لغة رئيسية لكنه لا يزال أقل شمولا وتوسيع من لغة السي C. هناك الآن مكتبة كاملة في بيثون، جافا وماتلاب / OCTAVE (اعتبارا من الإصدار 2.5).و فري باسال وAPI لهذه الواجهات يمكن العثور عليها في الوثائق الفورية. وإصدارات باكر في لغات أخرى مثل C #، وقد وضعت روبي في خارطة الطريق وهذا اعتمادا على دعم الجمهور لها.
تطبيقات
- OpenCV' محتوى داخل البرنامج:
- مجالات مكتبة OpenCV ما يلي:
- أدوات ثنائية وثلاثية البعد للرسم
- اودومتري بصري
- نظام التعرف على الوجه
- تشخيص الحركة
- تفاعل إنساني حاسوبي
- روبوت الموبيل
- فهم الحركة
- تحديد كائن
- التجسيم
- هيكل من الحركة
- التتبع
دعم نظام التشغيل
علاوةً على ذلك، OpenCV يعمل على ويندوز؛ لينكس؛ أندرويد؛ مايمو؛ فري بي إس دي؛ أوبن بي إس دي؛ آي أو إس (أبل)؛ بلاك بيري وماك أو إس عشرة. ويمكن للمستعمل الحصول على النشرات الرسمية من سورس، أو أخذ لقطة SVN من هناك. OpenCV يستعمل CMake.
int lineWidth = 1;
وعلى صعيد آخر، cvInitFont( &font, CV_FONT_HERSHEY_SIMPLEX | CV_FONT_ITALIC,// تهيئة الخط
cvScalar( 255, 255, 0 ) );
- cvShowImage( "My Window", img );//عرض الصورة في النافذة
- cvWaitKey; // إنتضار امر من اي مفتاح
- return 0; //نهاية البرنامج
- }
- المراجع
- الروابط الخارجية
📝 هل في هذه المقالة خطأ؟
إذا وجدت معلومة تحتاج تصحيحاً أو إضافة، أو أردت حذف المقالة، أرسل لنا طلباً وسنراجعه.
ما رأيك في هذه المقالة؟