libcamera ، مكتبة دعم الكاميرا لأنظمة Linux و Android و ChromeOS

libcamera

libcamera عبارة عن مكدس كاميرا مفتوح المصدر

بعد أربع سنوات من التطوير ، تم إطلاق الإصدار الأول من مشروع libcamera (0.0.1) ، والذي يوفر حزمة برامج للعمل مع كاميرات الفيديو والكاميرات وموالفات التلفزيون على Linux و Android و ChromeOS ، والتي تواصل تطوير V4L2 API وستحل محلها في النهاية.

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

استجابة للحاجة إلى التوزيعات لتتبع تغييرات واجهة برمجة التطبيقات التي تؤثر على التوافق ، ولتسهيل شحن المكتبة في حزم ، فقد تقرر الآن إنتاج إصدارات منتظمة تعكس مدى تغير ABI و APIs .

حول libcamera

المشروع ويتم تطويره بواسطة مطوري الأنظمة الفرعية للوسائط المتعددة في kernel لينكس معا مع بعض مصنعي الكاميرات لتوحيد دعم Linux لكاميرات الهواتف الذكية والأجهزة المضمنة المرتبطة ببرامج تشغيل خاصة.

واجهة برمجة تطبيقات V4L2 المتوفرة بالفعل في Linux kernel تم تصميمه مرة واحدة للعمل مع كاميرات الويب المستقلة التقليدية ولا يتوافق بشكل جيد مع الاتجاه الحديث لنقل الوظائف من MCU إلى وحدة المعالجة المركزية.

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

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

البطارية التي تقدم مكتبة libcamera يتم تنفيذه بالكامل في مساحة المستخدم. لضمان التوافق مع التطبيقات الحالية وبيئات البرمجة ، يتم توفير طبقات للتوافق مع V4L API و Gstreamer و Android Camera HAL.

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

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

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

هذا إطلاق التصحيح يبدأ إجراءات التحرير من حزمة المشروع. ستشمل الإصدارات الأولية زيادة في رقم إصدار التصحيح (0.0.x) ، بالإضافة إلى زيادة مقابلة في اسم الابن.

أخيرًا ، بالنسبة لأولئك الذين يرغبون في معرفة المزيد عنها ، يجب أن يعلموا أن كود المشروع مكتوب بلغة C ++ ويتم توزيعه بموجب ترخيص LGPLv2.1. يمكن الرجوع إلى كود المشروع ، وكذلك تعليمات تجميع المكتبة للعمل معها في الرابط التالي.


كن أول من يعلق

اترك تعليقك

لن يتم نشر عنوان بريدك الإلكتروني. الحقول الإلزامية مشار إليها ب *

*

*

  1. المسؤول عن البيانات: ميغيل أنخيل جاتون
  2. الغرض من البيانات: التحكم في الرسائل الاقتحامية ، وإدارة التعليقات.
  3. الشرعية: موافقتك
  4. توصيل البيانات: لن يتم إرسال البيانات إلى أطراف ثالثة إلا بموجب التزام قانوني.
  5. تخزين البيانات: قاعدة البيانات التي تستضيفها شركة Occentus Networks (الاتحاد الأوروبي)
  6. الحقوق: يمكنك في أي وقت تقييد معلوماتك واستعادتها وحذفها.