v2.8.0¶
الإصدار v2.8.0 إصدار ضخم. فهو يطلق OpenMV Cam H7 (STM32H7) مع مُرمِّز JPEG عتادي وADC/DAC الخاصين بـ H7، وإعادة هيكلة هائلة لواجهة image (سُمك/تعبئة الرسم، عمليات رياضية/ثنائية، مرشحات جديدة كثيرة، عتبة Otsu)، وخيوط MicroPython، ووحدة الإصدار omv. وقد ثُبِّت ترتيب تحليل معاملات Python وأُزيلت image.mask_ellipse() — اقرأ التغييرات الكاسرة أدناه.
أبرز النقاط¶
OpenMV Cam H7 — لوحة STM32H7 جديدة مع مُرمِّز JPEG عتادي وADC / DAC الخاصين بـ H7.
إعادة هيكلة
image— سُمك الخطوط، تعبئة الأشكال،draw_arrow()/draw_image()، عمليات رياضية/ثنائية كاملة، ومرشحات جديدة كثيرة.عتبة Otsu —
histogram.get_threshold()وكائنThreshold.الخيوط — دعم
_threadفي MicroPython.وحدة
omv— معلومات الإصدار / اللوحة.كاسر: أصبح ترتيب المعاملات الموضعية في Python صارماً وأُزيلت
image.mask_ellipse()— راجع التغييرات الكاسرة.
ميزات جديدة¶
OpenMV Cam H7 — دعم لوحة STM32H7 مع مُرمِّز JPEG عتادي وADC الخاص بـ H7 وDAC الخاص بـ H7.
الرسم — أُضيف
thicknessللخطوط، وfillللأشكال (مستطيل / دائرة)، وscale/ المباعدة للنص، ومعاملmono_spaceعلىdraw_string()، وimage.draw_arrow()، وimage.draw_image()(رسم العفريت / القناع).العمليات الرياضية — أُضيفت
add()، وsub()، وmul()، وdiv()، وmin()، وmax()، وdifference()، وblend()، وreplace()(معhmirror/vflip/mask)، وremove_shadows()؛ وتقبل العمليات الأساسية الآن قيمة عددية/لونية تُطبَّق على كل البكسلات.الثنائي / المورفولوجيا — نوع صورة ثنائي جديد و
binary()؛ وتقبل عمليات الخطوط وerode()/dilate()الأقنعة؛ وأُضيفتopen()/close()/top_hat()/black_hat().المرشحات — أُضيفت
cartoon، وflood_fill، وbilateral، وlaplacian، والأسماء البديلةblur/gaussian_blur، ومعادلة المدرج التكراري التكيفية (histeq(adaptive=, clip_limit=, mask=)).الإحصاءات — تقبل
get_statistics()/get_histogram()قائمة عتبات لونية وinvert؛ وأُضيفت عتبة Otsuhistogram.get_threshold()وكائنThreshold.CMSIS CNN — أُضيفت
image.classify_object()مع مثالcnn.py(حلّت محلها وحدةnnفي v3.0.0).الخيوط — تمكين وحدة
_threadفي MicroPython.وحدة
omv— أُضيفت معلومات الإصدار (version_string،arch،board_type،board_id)؛ وتمكين ناقل I2C4 فيmachineوالدوال الرياضية الخاصة (erf،gamma، …)؛ وأُضيفت أمثلة درع المحركات وبرامج نصية جديدة كثيرة للأمثلة.
تغييرات وتحسينات أخرى¶
خُفِّضت ساعة المستشعر الخارجية لـ H7 إلى 48 ميغاهرتز (جودة صورة أفضل، عدد إطارات أقل)؛ وأصبحت جودة JPEG المنخفضة/المرتفعة قابلة للضبط حسب اللوحة (ومضبوطة لـ H7)؛ وأُضيفت بوابة ميزات
imlib_config.hلكل لوحة (تبقى جميع دوال الصورة مُمكَّنة في البرنامج الثابت القياسي)؛ وحُدِّثت نسخة MicroPython المرفقة.
إصلاحات الأخطاء¶
التصوير:
أُصلح
image.save()بلا امتداد ملف، وتعيينgain_db/gain_db_ceilingلـ OV2640 / OV7725 / OV9650 / MT9V034، والكسب المفرط فيsharpen()، وضوضاء الحواف المورفولوجية، وقسمة على صفر في إحدى عمليات الصورة، وعطل تحطيم المكدس عند حجم نواة مرشح أكبر من اللازم (أصبح الآن خطأً نظيفاً).
النظام:
حُمي مخزن USB VCP بقسم ذرّي (تلف تسلسلي، #313)، وأُصلح اتصال USB على Windows، وتركيب نظام ملفات الفلاش الداخلي إذا فشلت بطاقة SD، وقيمة
set_frequency()PLLP فيcpufreq، وخطأ في تثبيت البرنامج الثابت من محمّل الإقلاع.
دعم العتاد واللوحات¶
OpenMV Cam H7 (STM32H7) — لوحة جديدة مع مُرمِّز JPEG عتادي وADC / DAC الخاصين بـ H7.
machine— تمكين ناقل I2C4.
تغييرات كاسرة في الواجهة البرمجية¶
تغييرات كاسرة مرئية للمستخدم في الواجهة البرمجية بين v2.7.0 وv2.8.0. النطاق: وحدات Python بلغة C في modules/ ومكتبات Python في scripts/libraries/.
كلا التغييرين الكاسرين ثانوي ولا يؤثّران إلا في البرامج النصية التي استخدمت الميزة المعنية. يرتبط كل تجزئة لإيداع (hash) بفرقه على GitHub.
أصبح ترتيب المعاملات الموضعية في Python صارماً (ثانوي)¶
أصبح تحليل المعاملات عبر وحدات Python بلغة C (image / sensor / fir / gif / lcd / mjpeg) يقرأ الآن المعاملات الموضعية قبل المعاملات المسماة ويثبّت الترتيب الموضعي. ومع المعاملات المسماة الجديدة على دوال الرسم (إذ اكتسبت draw_line() / draw_rectangle() / draw_circle() / draw_string() / draw_cross() / draw_keypoints() معاملات thickness / fill / scale / size)، فإن الشيفرة التي مرّرت معاملات خارج الترتيب موضعياً — أو مرّرت color موضعياً بعد أحد المعاملات الجديدة — يجب أن تستخدم المعاملات المسماة أو الترتيب الموضعي الموثّق.
إزالة image.mask_ellipse() (ثانوي)¶
أُزيلت image.mask_ellipse(). يجب على البرامج النصية التي استدعتها إسقاط الاستدعاء أو استخدام منطقة اهتمام / صورة قناع صريحة بدلاً منها.
الإيداعات: d7159fba3
قائمة التحقق للترحيل¶
مرّر المعاملات بالاسم (أو بالترتيب الموضعي الموثّق)، وخاصةً color على دوال الرسم (تغيير ترتيب المعاملات)، وأزل استدعاءات image.mask_ellipse() (إزالة mask_ellipse). تعمل جميع البرامج النصية الأخرى دون تغيير.