أوبن سي في

أوبن سي في (OpenCV). أو المكتبة البرمجية المفتوحة للرؤية الحاسوبية هي مكتبة اقترانات برمجية تهدف بشكل أساسي لتطوير الرؤية الحاسوبية، طورتها شركة أنتل (Intel) وتعاقب على دعمها بعد ذلك شركتي ويلو غارج (Willow Garge) للروبوتيات و إتسيز (Itseez) وأخير شركة إنتل مجددا بعد استيلائها على شركة Itseez منذ 2016. المكتبة مجانية كونها تحت رخصة المصدر المفتوح (open source BSD license). ويمكن استخدامها على معظم الأنظمة الحاسوبية التي تدعم لغة سي وسي++. تركز بشكل أساسي على معالجة اللحظية للصور (real-time).

مكتبة برمجية مفتوحة للرؤية الحاسوبية
OpenCV Logo with text svg version.svg
الشعار
Face detection.jpg
لقطة شاشة
معلومات عامة
نوع
مكتبة برمجية — مكتبة برمجية سي  [لغات أخرى] — مكتبة برمجية بايثون  [لغات أخرى]الاطلاع ومراجعة البيانات على ويكي داتا
موقع الويب
(الإنجليزية) opencv.orgالاطلاع ومراجعة البيانات على ويكي داتا
معلومات تقنية
المطورون
لغة البرمجة
الإصدار الأول
يونيو 2000الاطلاع ومراجعة البيانات على ويكي داتا
الإصدار الأخير
4.3.0 (3 أبريل 2020)[2]الاطلاع ومراجعة البيانات على ويكي داتا
المستودع
الرخصة
3-clause BSD License  [لغات أخرى][3]الاطلاع ومراجعة البيانات على ويكي داتا

إذا وجدت المكتبة على النظام ما يدعى بدائيون الأداء المتكامل (Integrated Performance Primitives) المطورة من قبل شركة أنتل (Intel) فسوف تستخدم هذه الإجراءات التحسينية ذات الرخصة الخاصة للتسريع من عملها.

تاريخعدل

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

  • تطوير الأبحاث الرؤية من خلال توفير كود مصدري، أيضا تقيح البنية التحتية للأساسية الرؤية. لا مزيد من إعادة اختراع العجلة.
  • نشر المعرفة الرؤية من خلال توفير بنية تحتية مشتركة للمطورين يمكن بناء عليها، بحيث الكود ا والشيفرا المصدرية تسيكون أكثر قابلية للقراءة بسهولة وقابلة للتحويل.
  • تقدم للتطبيقات التجارية مكتبة محمولة ومتنسقة وإتاحة كود حر بدون تقييد المستعمل في مشروعه سواء الحر أو التجاري.

تم الإفراج عن النسخة ألفا الأولى من OpenCV للجمهور في مؤتمر IEEE للرؤية الحاسوبية والتعرف على الأنماط في عام 2000، وأفرج عن خمسة بيتا بين عامي 2001 و 2005. تم الإفراج عن الإصدار 1.0 لأول مرة في عام 2006. في منتصف عام 2008، وحصل OpenCV دعم الشركات من Willow Garage، والآن هو قيد التطوير والنشط. وصدر الإصدار 1.1 "ما قبل النشر" في أكتوبر 2008.

كان الإصدار الرئيسي الثاني من OpenCV في أكتوبر 2009. OpenCV 2 يتضمن تغييرات كبيرة في واجهة + + C، تهدف إلى أسهل، وأكثر أنماط نوع والآمن، وظائف جديدة، وتطبيقات أفضل لتلك القائمة من حيث الأداء (وخاصة على أنظمة متعددة النوى). تحدث النشرات الرسمية الآن كل ستة أشهر [4] ويتم تطوير الآن من قبل فريق الروسي مستقلة تدعمها الشركات التجارية.

في آب 2012، واتخذ الدعم لOpenCV أكثر من قبل مؤسسة غير هادفة للربح[5]، OpenCV.org، الذي يحافظ على المطور وموقع المستخدم.[6]

تركيبة المكتبةعدل

تحتوي مكتبة Opencv عدة أدوات وهي :

  • core - وحدة نمطية مدمجة لتحديد هياكل البيانات الأساسية، المستخدمة من قبل جميع وحدات أخرى.
  • imgproc - وحدة معالجة الصور التي تتضمن صورة الخطية وغير الخطية والترشيح، والتحولات صورة هندسية (تغيير الحجم، تزييفها أفيني والمنظور، عام الخارطة المستندة إلى الجدول)، وتحويل لون الفضاء، رسوم بيانية، وخصائص أخرى .
  • video - وحدة تحليل الفيديو التي تتضمن تقدير الحركة، خلفية الطرح، والخوارزميات تتبع الكائن.
  • calib3d - متعددة مشاهدة الخوارزميات الهندسة الأساسية، واحد وستيريو معايرة الكاميرا، وجوه تشكل تقدير، خوارزميات المراسلات ستيريو، وعناصر إعادة الإعمار 3D.
  • features2d - كشف البارزة ميزة، واصف، واصف matchers.
  • objdetect - كشف عن وجوه وحالات من الفئات المحددة مسبقا (على سبيل المثال، وجوه، وعيون، وأكواب، والناس، والسيارات، وهلم جرا).
  • highgui - وهي سهلة الاستخدام واجهة لالتقاط الفيديو والصورة والفيديو الترميز، فضلا عن قدرات واجهة المستخدم بسيطة.
  • GP/U - خوارزميات GPU تسارع من مختلف وحدات OpenCV.

تطبيقاتعدل

 
أطر مفتوحة تشغيل مثال للمكتبة ;تتبع حركة اليد ومختلف اشكال التصيير المتوفر في المكتبة.

OpenCV' محتوى داخل البرنامج:

مجالات مكتبة OpenCV ما يلي:

لدعم بعض المجالات المذكورة أعلاه، OpenCV يتضمن مكتبة تعلم الآلة الإحصائية التي تتضمن ما يلي:

لغة البرمجةعدل

مكتبة OpenCV مصنوعة بلغة C + + كا لغة رئيسية لكنه لا يزال أقل شمولا وتوسيع من لغة السي C. هناك الآن مكتبة كاملة في بيثون، جافا وماتلاب / OCTAVE (اعتبارا من الإصدار 2.5).و فري باسال وAPI لهذه الواجهات يمكن العثور عليها في الوثائق الفورية[7]. وإصدارات باكر في لغات أخرى مثل C #،،[8] وقد وضعت روبي في خارطة الطريق وهذا اعتمادا على دعم الجمهور لها .

يتم كتابة جميع التطورات وخوارزميات جديدة في OpenCV الآن في + + C .

الآن واجهة GPU المستندة من CUDA في التقدم منذ سبتمبر 2010.[9]

الآن واجهة GPU المستندة من OpenCL في التقدم منذ أكتوبر [10] 2012 وثائق للنسخة 2.4.5 [11] .

دعم نظام التشغيلعدل

OpenCV يعمل على ويندوز; لينكس[12] ; أندرويد; مايمو[13] ; فري بي ‌إس ‌دي[14]; أوبن بي إس دي; آي أو إس (أبل); بلاك بيري[15] و ماك أو إس عشرة. ويمكن للمستخدم الحصول على النشرات الرسمية من سورس، أو أخذ لقطة SVN من هناك. OpenCV يستخدم CMake.

المتطلبات الأساسية 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.

المتطلبات الأساسية Linuxعدل

توفر الحزم التالية :

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 <cv.h>
#include <highgui.h>

int main ( int argc, char **argv )
{
  cvNamedWindow( "My Window", 1 ); // إنشاء نافذة
  IplImage *img = cvCreateImage( cvSize( 640, 480 ), IPL_DEPTH_8U, 1 );// إنشاء صورة
  CvFont font;// إنشاء نوع خط
  double hScale = 1.0;// إنشاء متغاير
  double vScale = 1.0;
  int lineWidth = 1;
  cvInitFont( &font, CV_FONT_HERSHEY_SIMPLEX | CV_FONT_ITALIC,// تهيئة الخط
              hScale, vScale, 0, lineWidth );
  cvPutText( img, "Hello World!", cvPoint( 200, 400 ), &font,// كتابة النص بالخط المهيئ
             cvScalar( 255, 255, 0 ) );
  cvShowImage( "My Window", img );//عرض الصورة في النافذة
  cvWaitKey(); // إنتضار امر  من اي مفتاح
  return 0; //نهاية البرنامج
}

المراجععدل

  1. ^ اسم مستخدم غيت هب: https://github.com/opencv — تاريخ الاطلاع: 13 مايو 2020
  2. ^ Release 4.3.0 — تاريخ الاطلاع: 4 أبريل 2020 — تاريخ النشر: 3 أبريل 2020
  3. ^ License — تاريخ الاطلاع: 27 مارس 2017
  4. ^ OpenCV change logs: http://code.opencv.org/projects/opencv/wiki/ChangeLog نسخة محفوظة 15 يناير 2013 على موقع واي باك مشين.
  5. ^ OpenCV Developer Site: http://code.opencv.org نسخة محفوظة 13 يناير 2013 at Archive.is
  6. ^ OpenCV User Site: http://opencv.org/
  7. ^ OpenCV C interface: http://docs.opencv.org
  8. ^ Ch OpenCV: http://www.softintegration.com/products/thirdparty/opencv/
  9. ^ Cuda GPU port: http://opencv.org/platforms/cuda.html نسخة محفوظة 21 مايو 2016 على موقع واي باك مشين.
  10. ^ OpenCL Announcement: http://opencv.org/opencv-v2-4-3rc-is-under-way.html
  11. ^ OpenCL-accelerated Computer Vision API Reference: http://docs.opencv.org/modules/ocl/doc/ocl.html
  12. ^ BlackBerry 10 (partial port): https://github.com/blackberry/OpenCV
  13. ^ Android port: http://opencv.willowgarage.com/wiki/AndroidExperimental نسخة محفوظة 26 نوفمبر 2012 على موقع واي باك مشين.
  14. ^ Maemo port: https://garage.maemo.org/projects/opencv
  15. ^ iPhone port: http://www.eosgarden.com/en/opensource/opencv-ios/overview/

الروابط الخارجيةعدل