log_polar_off_center.py

# هذا العمل مرخص بموجب ترخيص MIT.
# حقوق النشر (c) 2013-2026 لشركة OpenMV LLC. جميع الحقوق محفوظة.
# https://github.com/openmv/openmv/blob/master/LICENSE
#
# مثال التخطيط القطبي اللوغاريتمي خارج المركز
#
# يوضح هذا المثال إعادة إسقاط الصورة باستخدام تحويل قطبي
# خطي متمركز حول نقطة يحددها المستخدم بدلاً من
# مركز الصورة. هذا مفيد عندما لا يتوافق المحور البصري للعدسة
# مع مركز الحساس (مثل عدسة عين السمكة المركّبة
# بمهايئ إزاحة)، بحيث يمكن إعادة توسيط التحويل القطبي على
# المركز البصري الحقيقي.
#
# مرّر المعاملين الاسميين `x` و`y` لتعيين المركز القطبي. تعود كلتاهما
# إلى مركز الصورة افتراضيًا عند حذفهما.

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)  # السماح للإعدادات الجديدة بأن تصبح فعالة.

# توسيط التحويل القطبي 20 بكسلًا إلى اليمين و10 بكسلات للأسفل
# من مركز الحساس. اضبط هذه القيم حسب عدستك.
CENTER_X_OFFSET = 20
CENTER_Y_OFFSET = 10

clock = time.clock()  # تتبع معدل الإطارات (FPS).

while True:
    clock.tick()  # تتبع عدد الميلي ثانية المنقضية بين استدعاءات snapshot().
    img = csi0.snapshot()
    cx = (img.width() // 2) + CENTER_X_OFFSET
    cy = (img.height() // 2) + CENTER_Y_OFFSET
    img.logpolar(reverse=False, x=cx, y=cy)

    print(clock.fps())  # ملاحظة: تعمل كاميرا OpenMV الخاصة بك بحوالي نصف السرعة أثناء
    # الاتصال بحاسوبك. يجب أن يزداد معدل الإطارات (FPS) بعد قطع الاتصال.

results matching ""

    No results matching ""