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). تعمل جميع البرامج النصية الأخرى دون تغيير.