find_rects.py

# هذا العمل مرخص بموجب ترخيص MIT.
# حقوق النشر (c) 2013-2023 OpenMV LLC. جميع الحقوق محفوظة.
# https://github.com/openmv/openmv/blob/master/LICENSE
#
# مثال العثور على المستطيلات
#
# يوضح هذا المثال كيفية العثور على المستطيلات في الصورة باستخدام عتبة الأضلاع الأربعة (quad threshold)
# المستخدمة في كود اكتشاف April Tags الخاص بنا. خوارزمية اكتشاف عتبة الأضلاع الأربعة
# تكتشف المستطيلات بطريقة قوية للغاية وهي أفضل بكثير من الطرق المعتمدة على تحويل
# هَف (Hough Transform). فعلى سبيل المثال، لا يزال بإمكانها اكتشاف المستطيلات حتى عندما يتسبب
# تشوه العدسة في جعل تلك المستطيلات تبدو منحنية. المستطيلات ذات الزوايا الدائرية ليست مشكلة!
# (لكن نظرًا لذلك، سيكتشف الكود أيضًا الدوائر ذات نصف القطر الصغير)...

import csi
import time

csi0 = csi.CSI()
csi0.reset()
csi0.pixformat(csi.RGB565)  # التدرج الرمادي (grayscale) أسرع (بحد أقصى 160x120 على OpenMV-M7)
csi0.framesize(csi.QQVGA)
csi0.snapshot(time=2000)

clock = time.clock()

while True:
    clock.tick()
    img = csi0.snapshot()

    # يجب ضبط `threshold` أدناه على قيمة عالية بما يكفي لتصفية الضوضاء
    # الناتجة عن مستطيلات تم اكتشافها في الصورة ذات مقادير حواف منخفضة. المستطيلات
    # لها مقادير حواف أكبر كلما كانت أكبر حجمًا وأكثر تباينًا...

    for r in img.find_rects(threshold=10000):
        img.draw_rectangle(r, color=(255, 0, 0))
        for p in r.corners:
            img.draw_circle((p[0], p[1], 5), color=(0, 255, 0))
        print(r)

    print("FPS %f" % clock.fps())

results matching ""

    No results matching ""