v4.1.2

يضيف الإصدار v4.1.2 تنسيقات بكسل متقدمة مع debayering كامل، ومعالجة صور YUV، ووحدة imu جديدة (LSM6DSOX)، وصوت الميكروفون الرقمي DFSDM، ودعم مستشعر الأحداث FrogEye2020. تغيّر سلوك erode()/dilate() ومكتبة RPC لسطح المكتب — اقرأ التغييرات الكاسرة أدناه.

أبرز النقاط

  • تنسيقات بكسل متقدمة مع دعم debayering كامل.

  • معالجة صور YUV.

  • وحدة imu جديدة — دعم LSM6DSOX (توجيه قابل للتكوين، وMLC).

  • صوت DFSDM — دخل الميكروفون الرقمي.

  • دعم مستشعر الأحداث FrogEye2020.

  • تغيير كاسر: أصبحت erode()/dilate() الآن تعمل على البكسلات غير البيضاء وأُعيدت تسمية فئة RPC لسطح المكتب — راجع التغييرات الكاسرة.

ميزات جديدة

  • تنسيقات بكسل متقدمة — معالجة جديدة لتنسيق البكسل مع دعم debayering كامل (Bayer → RGB/grayscale عبر التنسيقات).

  • معالجة صور YUV — إضافة دعم معالجة صور YUV.

  • وحدة imu — وحدة IMU جديدة مع برنامج تشغيل LSM6DSOX، وتوجيه IMU قابل للتكوين، ودعم نواة التعلم الآلي (MLC).

  • الصوت — إضافة دعم الميكروفون الرقمي DFSDM إلى وحدة audio.

  • FrogEye2020 — برنامج تشغيل جديد لمستشعر الأحداث FrogEye2020، مع برامج نصية مثالية لكاميرا الأحداث.

تغييرات وتحسينات أخرى

  • أصبح ترميز JPEG البرمجي أسرع بنحو 10% (تحسين معالجة البتات).

  • أصبحت machine.I2C تستخدم الآن طرفية I2C العتادية على STM32 H7.

  • نُقلت find_apriltags() وfind_line_segments() ومسار دخل TensorFlow إلى الواجهة الخلفية الموحّدة draw_image.

إصلاحات الأخطاء

  • إصلاح حالات تجاوز سعة ترميز JPEG البرمجي، وcompress في image، واكتشاف تنسيق IS_JPEG.

دعم العتاد واللوحات

  • مستشعر الأحداث FrogEye2020.

  • Arduino Nicla Vision (BORMIO) — تحديث توزيع الدبابيس وUSB VID/PID.

  • Arduino Portenta H7 — ضُبطت ساعة المستشعر الافتراضية على 12 MHz.

تغييرات كاسرة في واجهة برمجة التطبيقات

تغييرات كاسرة مرئية للمستخدم في واجهة برمجة التطبيقات بين v4.1.1 وv4.1.2. النطاق: وحدات Python C في modules/ ومكتبات Python في scripts/libraries/.

كل تغيير موسوم بتأثيره:

  • طفيف — واجهة برمجة تطبيقات ضيقة؛ أدوات جانب المضيف فقط.

  • سلوك — نفس الواجهة، نتائج مختلفة؛ أعد فحص البرامج النصية المضبوطة.

تُجمَّع التغييرات حسب التأثير بهذا الترتيب. يرتبط كل تجزئة تأكيد (hash) بالفرق الخاص به على GitHub.

أُعيدت تسمية فئة في مكتبة RPC لسطح المكتب (طفيف)

في مكتبة RPC لسطح المكتب على جانب المضيف (tools/rpc/rpc.py)، أُعيدت تسمية الفئة rpc_wifi_or_ethernet_master إلى rpc_network_master، وتم تحويل برامج RTSP/RPC المضيفة النصية لاستخدام مكتبات الشبكة القياسية. يؤثر هذا على برامج الحاسوب المضيف فقط؛ ولا تتأثر البرامج النصية على الكاميرا.

التأكيدات: a2f016ba0، a4858015c

تعمل erode() / dilate() على البكسلات غير البيضاء (سلوك)

أُصلحت Image.erode() وImage.dilate() لتعملا على البكسلات غير البيضاء بدلاً من البكسلات البيضاء فقط. تختلف النتائج عن الإصدارات السابقة للصور غير الثنائية / غير البيضاء فقط — أعد فحص خطوط معالجة المورفولوجيا المضبوطة.

التأكيد: 899f80759

قائمة فحص الترحيل

للنقل النظيف إلى v4.1.2: في برامج RPC على الحاسوب المضيف، أعد تسمية rpc_wifi_or_ethernet_master إلى rpc_network_master (إعادة تسمية RPC)، وأعد فحص أي نتائج لـ erode() / dilate() على الصور غير الثنائية (تغيير المورفولوجيا). تعمل البرامج النصية على الكاميرا بخلاف ذلك دون تغيير.