genx320_histogram_mode_grayscale_led_tracking.py
# هذا العمل مرخص بموجب ترخيص MIT.
# حقوق النشر (c) 2013-2024 OpenMV LLC. جميع الحقوق محفوظة.
# https://github.com/openmv/openmv/blob/master/LICENSE
#
# يوضح هذا المثال استخدام حساس الأحداث GenX320 من شركة Prophesee لتتبع علامة نشطة
# بمصابيح LED. تم ضبط إعدادات الحساس (biases) لرؤية مصابيح LED عالية التباين المعدّلة فقط عند
# ترددات عالية. مع هذه الإعدادات، لا يكتشف الحساس أي تغييرات منخفضة التباين في
# المشهد باستثناء مصابيح LED، مما يتيح تتبعًا عالي الكفاءة والمتانة لمصابيح LED.
# لوحة العلامة النشطة من Prophesee بمصابيح LED والبيانات المعتمدة على الأحداث المقابلة موضحة في
# https://youtu.be/j-LpkDpCxUU?si=jA3B4xZg9RHlyoW3.
import csi
import time
csi0 = csi.CSI(cid=csi.GENX320)
csi0.reset()
csi0.pixformat(csi.GRAYSCALE)
csi0.framesize((320, 320))
csi0.brightness(128) # اتركها عند 128 عمومًا (هذه هي القيمة الافتراضية).
csi0.contrast(16) # زدها لجعل الصورة أكثر وضوحًا.
csi0.framerate(200)
# تطبيق إعدادات الحساس (biases) المضبوطة لتتبع علامة نشطة بمصابيح LED
csi0.ioctl(csi.IOCTL_GENX320_SET_BIASES, csi.GENX320_BIASES_ACTIVE_MARKER)
clock = time.clock()
while True:
clock.tick()
img = csi0.snapshot()
blobs = img.find_blobs(
[(120, 140)], invert=True, pixels_threshold=2, area_threshold=4, merge=True
)
for blob in blobs:
img.draw_detection(blob, color1=(255, 255, 255), color2=(0, 0, 0))
print(clock.fps())