v4.4.3¶
يقدّم الإصدار v4.4.3 لوحة OpenMV RT1060 (NXP i.MX RT1060)، وواجهة برمجية موسّعة بشكل كبير لتسجيل MJPEG، وطرق صور ISP جديدة (توازن الأبيض التلقائي، ومصفوفة تصحيح الألوان، وجاما)، وMicroPython 1.20. تغيّرت أسماء لوحات Arduino وتحوّلت الإعدادات الافتراضية لـ MJPEG — اقرأ التغييرات الجذرية أدناه.
أبرز الميزات¶
OpenMV RT1060 — لوحة NXP i.MX RT1060 جديدة (مع مراجعة REV2).
واجهة MJPEG موسّعة —
write()وcountوis_closedوsync()ووسوم ROI/اللوح اللوني/ألفا، ومُنهٍ (finalizer).طرق ISP جديدة —
image.awb()وimage.ccm()وimage.gamma().تحديث MicroPython إلى 1.20.0.
تغيير جذري: أُعيدت تسمية أهداف لوحات Arduino وتغيّرت جودة MJPEG الافتراضية — راجع التغييرات الجذرية.
ميزات جديدة¶
OpenMV RT1060 — منفذ NXP i.MX RT1060 كامل (برامج تشغيل المستشعر وGPIO وI2C وSPI) وتهيئة اللوحة، إضافة إلى دعم مراجعة اللوحة RT1060 REV2 وإنذار/إيقاظ
machine.RTCعلى منفذ i.MX RT.MJPEG — طريقة
Mjpeg.write()جديدة (مع وسومroiوrgb_channelوalphaوcolor_paletteوalpha_paletteوhint) إضافة إلىcountوis_closedوsync()ومُنهٍ__del__، وأسماء بديلة للمُنشئMJPEG/Mjpeg/mjpeg.طرق صور ISP —
image.awb([max])(توازن الأبيض التلقائي) وimage.ccm(matrix)(مصفوفة تصحيح ألوان 3x3 / 4x3) وimage.gamma(gamma, contrast, brightness).AprilTag — سمتا مركز ثقل جديدتان بالفاصلة العائمة
cxf/cyf(لا تزالcx/cyتُعيدان أعداداً صحيحة مقرّبة).التعلم الآلي — أصبحت
tf.regression()تقبل الآن ndarray من ulab وتدعم موترات الإدخال ثنائية البعد (لا يزال أحادي البعد مدعوماً)؛ وتم تمكين عمليات إضافية من TensorFlow Lite في مكتباتlibtfالمرفقة.
تغييرات وتحسينات أخرى¶
تحديث MicroPython إلى 1.20.0؛ وتحديث ulab إلى 6.0.12.
أُعيدت هيكلة
image.gamma/gamma_corrكطريقة ISP ووُسِّعت لدعم صور Bayer وYUV (وليس الصور القابلة للتعديل فقط).تحوّلت لوحات STM32 (Portenta H7، Nicla Vision) إلى برنامج تشغيل WiFi مفتوح المصدر cyw43.
أصبحت مكتبة
rtspقابلة للنقل (تستخدمrandom/timeبدلاً منpyb)؛ وأصبحتurequestsتغلق مقبسها دائماً الآن.
إصلاحات الأخطاء¶
الكاميرا والمستشعرات:
إصلاح معدّل ساعة OV767x (CLKRC) على Arduino Nano 33 BLE Sense، ومعالجة تجاوز/مقسّم CLKRC في OV7670، وتبديل خطي البيانات D0/D1 على Arduino Nicla Vision / مجموعة التعلم الآلي (منفذ nrf).
النظام وUSB:
إصلاح معالجة حزم USB القصيرة في وضع تصحيح أخطاء TinyUSB (نقل أكثر موثوقية بين IDE/المضيف).
إصلاح قطبية LED الوامض في OpenMV RT1060 واكتشاف بطاقة SD عند التشغيل.
العتاد ودعم اللوحات¶
OpenMV RT1060 — لوحة NXP i.MX RT1060 جديدة، إضافة إلى مراجعة REV2.
STM32 — انتقل Portenta H7 / Nicla Vision إلى برنامج تشغيل WiFi مفتوح المصدر cyw43.
تغييرات جذرية في الواجهة البرمجية¶
تغييرات في الواجهة البرمجية مرئية للمستخدم بين v4.4.2 وv4.4.3. النطاق: وحدات C الخاصة بـ Python في modules/ ومكتبات Python في scripts/libraries/.
كل تغيير موسوم بتأثيره:
سلوك — الواجهة البرمجية نفسها لكن بنتائج مختلفة؛ أعد فحص البرامج النصية المضبوطة.
أدوات — يؤثر على تسمية اللوحات / كتابة البرنامج الثابت، وليس على واجهة Python البرمجية.
التغييرات مجمّعة حسب التأثير بهذا الترتيب. يرتبط كل تجزيء (hash) للالتزام بفرقه (diff) على GitHub.
الإعدادات الافتراضية لـ MJPEG ومعالجة الأخطاء (سلوك)¶
تم إصلاح شِفرة تسجيل MJPEG بشكل شامل. تم رفع جودة quality لـ JPEG الافتراضية في add_frame() / write() من 50 إلى 90 (تصبح التسجيلات أكبر حجماً وأعلى جودة افتراضياً)، وأصبحت الجودة غير الصالحة ترفع الآن ValueError، وأصبحت العملية على ملف مغلق ترفع الآن OSError، وأصبحت طرق التسجيل تُعيد الآن الكائن Mjpeg. ينبغي إعادة فحص البرامج النصية التي كانت تعتمد على الجودة الافتراضية القديمة أو على سلوك الأخطاء السابق.
الالتزام: 3fc55ad31
إعادة تسمية أهداف لوحات Arduino (أدوات)¶
أُعيدت تسمية أهداف لوحات Arduino وفق اصطلاح تسمية محدّث وتم تحديث جميع بيانات اللوحات (مجموعات الوحدات المجمّدة). لا يغيّر هذا واجهة Python البرمجية، لكن أسماء ملف/لوحة البرنامج الثابت المستخدمة لبناء أو كتابة لوحات Arduino قد تغيّرت — حدّث أدواتك تبعاً لذلك.
قائمة تحقق النقل¶
من أجل نقل سليم إلى v4.4.3: أعد فحص تسجيلات MJPEG بحثاً عن الجودة الافتراضية الجديدة وسلوك الأخطاء (تغيير MJPEG)، وحدّث أدوات البناء/الكتابة لأهداف لوحات Arduino المُعاد تسميتها (إعادة تسمية اللوحات). تعمل جميع البرامج النصية الأخرى دون تغيير.