midpoint_adaptive_threshold_filter.py
# هذا العمل مرخص بموجب ترخيص MIT.
# حقوق النشر (c) 2013-2023 OpenMV LLC. جميع الحقوق محفوظة.
# https://github.com/openmv/openmv/blob/master/LICENSE
#
# مثال مرشّح العتبة التكيفية بنقطة المنتصف
#
# يوضح هذا المثال ترشيح نقطة المنتصف مع العتبة التكيفية.
# عندما تكون midpoint(threshold=True)، تقوم طريقة midpoint() بتطبيق عتبة تكيفية على الصورة
# عن طريق مقارنة نقطة منتصف البكسلات المحيطة ببكسل ما، ناقص إزاحة معينة، مع ذلك البكسل.
import csi
import time
csi0 = csi.CSI()
csi0.reset() # تهيئة مستشعر الكاميرا.
csi0.pixformat(csi.RGB565) # أو csi.GRAYSCALE
csi0.framesize(csi.QQVGA) # أو csi.QVGA (أو غيرها)
csi0.snapshot(time=2000) # السماح للإعدادات الجديدة بأن تصبح فعالة.
clock = time.clock() # تتبع معدل الإطارات (FPS).
while True:
clock.tick() # تتبع عدد الميلي ثانية المنقضية بين استدعاءات snapshot().
img = csi0.snapshot() # التقاط صورة وإرجاعها.
# المعامل الأول هو حجم النواة (kernel). N تقابل نواة بحجم ((N*2)+1)^2
# مثال: 1 == نواة 3x3، 2 == نواة 5x5، إلخ. ملاحظة: لن
# لن تحتاج أبدًا إلى استخدام قيمة أكبر من 2. المعامل "bias"
# يتيح لك الاختيار بين مزج الأدنى والأقصى. 0.5 == مرشّح نقطة المنتصف،
# 0.0 == مرشّح الأدنى، و1.0 == مرشّح الأقصى. لاحظ أن مرشّح الأدنى
# يجعل الصور أغمق بينما يجعل مرشّح الأقصى الصور أفتح.
img.midpoint(1, bias=0.5, threshold=True, offset=5, invert=True)
print(clock.fps()) # ملاحظة: تعمل كاميرا OpenMV الخاصة بك بحوالي نصف السرعة أثناء
# الاتصال بحاسوبك. يجب أن يزداد معدل الإطارات (FPS) بعد قطع الاتصال.