ir_beacon_rgb565_tracking.py
# هذا العمل مرخص بموجب ترخيص MIT.
# حقوق النشر (c) 2013-2023 OpenMV LLC. جميع الحقوق محفوظة.
# https://github.com/openmv/openmv/blob/master/LICENSE
#
# مثال تتبع منارة الأشعة تحت الحمراء بصيغة RGB565
#
# يوضح هذا المثال تتبع منارة الأشعة تحت الحمراء بصيغة RGB565 باستخدام كاميرا OpenMV.
import csi
import time
thresholds = (100, 100, 0, 0, 0, 0) # عتبات للضوء الأبيض الساطع من الأشعة تحت الحمراء.
csi0 = csi.CSI()
csi0.reset()
csi0.pixformat(csi.RGB565)
csi0.framesize(csi.VGA)
csi0.window((240, 240)) # بكسلات المركز 240x240 من دقة VGA
csi0.snapshot(time=2000)
csi0.auto_gain(False) # يجب إيقافه من أجل تتبع الألوان
csi0.auto_whitebal(False) # يجب إيقافه من أجل تتبع الألوان
clock = time.clock()
# فقط البقع (blobs) التي تحتوي على بكسلات أكثر من "pixel_threshold" ومساحة أكبر من "area_threshold"
# يتم إرجاعها بواسطة "find_blobs" أدناه. قم بتغيير "pixels_threshold" و"area_threshold" إذا قمت بتغيير
# دقة الكاميرا. يقوم "merge=True" بدمج جميع البقع المتداخلة في الصورة.
while True:
clock.tick()
img = csi0.snapshot()
for blob in img.find_blobs(
[thresholds], pixels_threshold=200, area_threshold=200, merge=True
):
ratio = blob.w / blob.h
if (ratio >= 0.5) and (ratio <= 1.5): # تصفية الكتل غير شبه المربعة
img.draw_detection(blob)
print(clock.fps())