آلة تصوير#
مقدمة#
تتضمن طائرة VEX AIR بدون طيار مستشعري رؤية يعملان ككاميرات مدمجة، أحدهما في الأمام والآخر في الأسفل. يمكن لهذين المستشعرين التقاط الصور والفيديو أثناء الطيران. في VEXcode AIR، تشير كلمة “كاميرا” دائمًا إلى أحد مستشعري الرؤية هذين. على سبيل المثال، في أمر مثل drone.camera.start_recording(FORWARD_CAMERA)، يشير camera إلى مستشعري الرؤية، بينما يحدد FORWARD_CAMERA المستشعر الأمامي.
لنقل تسجيلات الفيديو والصور من وحدة تحكم طائرة VEX AIR بدون طيار، قم بتوصيلها بجهاز الكمبيوتر. ستظهر كوحدة تخزين خارجية (شبيهة بذاكرة USB)، مما يسمح لك بنسخ الملفات مباشرةً. بعد الانتهاء من أي مشروع، انتظر دقيقة تقريبًا حتى تنتهي وحدة التحكم من تنزيل جميع الصور والتسجيلات من الطائرة بدون طيار قبل محاولة نسخها.
فيما يلي قائمة بجميع الطرق المتاحة:
الإجراءات
start_recording– يسجل الفيديو من مستشعر الرؤية.stop_recording– إيقاف التسجيل من مستشعر الرؤية.capture_image– يلتقط صورة من مستشعر الرؤية.
المُحَوِّرون
show_camera– يعرض مستشعر الرؤية المحدد على وحدة التحكم في الطائرة بدون طيار VEX AIR.hide_camera– إخفاء تغذية مستشعر الرؤية على وحدة التحكم.set_overlay_reticle– إظهار أو إخفاء شبكة التراكب.set_overlay_telemetry– إظهار أو إخفاء بيانات القياس عن بعد.
المُنجزون
is_recording– تُرجع ما إذا كان مستشعر الرؤية يقوم بالتسجيل.get_recording_time– تُرجع الوقت الذي تم قضاؤه في التسجيل.
الإجراءات#
start_recording#
start_recording يبدأ التسجيل باستخدام مستشعر الرؤية المحدد.
للحصول على معلومات حول عرض واسترجاع التسجيلات، انتقل إلى هنا.
طريقة الاستخدام:
drone.camera.start_recording(camera)
حدود |
وصف |
|---|---|
|
مستشعر الرؤية للتسجيل باستخدام: |
# Press button 7 to end recording
def end_recording():
drone.camera.stop_recording(FORWARD_CAMERA)
drone.land()
controller.button7.pressed(end_recording)
# Record a video as you fly around
controller.screen.show_camera(FORWARD_CAMERA)
drone.take_off(climb_to=500)
drone.camera.start_recording(FORWARD_CAMERA)
while True:
# Move with controller
drone.move_with_vectors(
forward=controller.axis4.position(),
rightward=controller.axis3.position(),
upward=controller.axis1.position(),
rotation=controller.axis2.position()
)
wait(5, MSEC)
stop_recording#
stop_recording يوقف تسجيل مستشعر الرؤية المحدد.
للحصول على معلومات حول عرض واسترجاع التسجيلات، انتقل إلى هنا.
طريقة الاستخدام:
drone.camera.stop_recording(camera)
حدود |
وصف |
|---|---|
|
مستشعر الرؤية لإيقاف التسجيل باستخدام: |
# Press button 7 to end recording
def end_recording():
drone.camera.stop_recording(FORWARD_CAMERA)
drone.land()
controller.button7.pressed(end_recording)
# Record a video as you fly around
controller.screen.show_camera(FORWARD_CAMERA)
drone.take_off(climb_to=500)
drone.camera.start_recording(FORWARD_CAMERA)
while True:
# Move with controller
drone.move_with_vectors(
forward=controller.axis4.position(),
rightward=controller.axis3.position(),
upward=controller.axis1.position(),
rotation=controller.axis2.position()
)
wait(5, MSEC)
capture_image#
capture_image يلتقط صورة باستخدام مستشعر الرؤية المحدد.
للحصول على معلومات حول عرض واسترجاع الصور الملتقطة، انتقل إلى هنا.
طريقة الاستخدام:
drone.camera.capture_image(camera)
حدود |
وصف |
|---|---|
|
مستشعر الرؤية لالتقاط صورة باستخدام: |
# Press button 7 to take pictures
def take_picture():
drone.camera.capture_image(FORWARD_CAMERA)
controller.button7.pressed(take_picture)
# Take pictures while you control the drone
controller.screen.show_camera(FORWARD_CAMERA)
drone.take_off(climb_to=500)
while True:
# Move with controller
drone.move_with_vectors(
forward=controller.axis4.position(),
rightward=controller.axis3.position(),
upward=controller.axis1.position(),
rotation=controller.axis2.position()
)
wait(5, MSEC)
المتحولون#
show_camera#
show_camera يضبط وضع الشاشة الحالي على تغذية مستشعر الرؤية المحددة.
طريقة الاستخدام:
controller.screen.show_camera(camera)
حدود |
وصف |
|---|---|
|
بيانات مستشعر الرؤية للعرض: |
# Switch camera feeds after 3 seconds
controller.screen.show_camera(DOWNWARD_CAMERA)
wait(3, SECONDS)
controller.screen.show_camera(FORWARD_CAMERA)
hide_camera#
hide_camera يخفي تغذية مستشعر الرؤية المحدد.
طريقة الاستخدام:
controller.screen.hide_camera()
حدود |
وصف |
|---|---|
لا تحتوي هذه الطريقة على أي معلمات. |
# Hide camera feed after 3 seconds
controller.screen.show_camera(FORWARD_CAMERA)
wait(3, SECONDS)
controller.screen.hide_camera()
set_overlay_reticle#
يُفعّل الأمر set_overlay_reticle أو يُعطّل علامة التصويب الظاهرة. علامة التصويب هي مؤشر مرئي، مثل علامة التصويب، يظهر في مجال رؤية الكاميرا للمساعدة في التصويب أو محاذاة الأهداف.
بشكل افتراضي، يتم ضبط تراكب الشبكة على True في بداية المشروع، فقط على مستشعر الرؤية المتجه للأسفل.
Usage:
controller.screen.set_overlay_reticle(state)
حدود |
وصف |
|---|---|
|
حالة شبكة التراكب: |
# Hide the reticle when not aligning to a landing area
controller.screen.show_camera(DOWNWARD_CAMERA)
drone.take_off(climb_to=500)
controller.screen.set_overlay_reticle(False)
while True:
# Move with controller
drone.move_with_vectors(
forward=controller.axis4.position(),
rightward=controller.axis3.position(),
upward=controller.axis1.position(),
rotation=controller.axis2.position()
)
wait(5, MSEC)
set_overlay_telemetry#
يُفعّل الخيار set_overlay_telemetry أو يُعطّل عرض بيانات القياس عن بُعد الخاصة بالطائرة المسيّرة على شاشة وحدة التحكم. بيانات القياس عن بُعد هي بيانات مباشرة من الطائرة المسيّرة أثناء تحليقها أو تشغيلها لمشروع ما.
بشكل افتراضي، يتم ضبط تراكب بيانات القياس عن بعد على True في بداية المشروع.
Usage:
controller.screen.set_overlay_telemetry(state)
حدود |
وصف |
|---|---|
|
حالة بيانات القياس عن بُعد: |
# Clear the camera video for better visibility
controller.screen.show_camera(FORWARD_CAMERA)
drone.take_off(climb_to=500)
controller.screen.set_overlay_telemetry(False)
while True:
# Move with controller
drone.move_with_vectors(
forward=controller.axis4.position(),
rightward=controller.axis3.position(),
upward=controller.axis1.position(),
rotation=controller.axis2.position()
)
wait(5, MSEC)
المحصلون#
is_recording#
is_recording تُرجع قيمة منطقية تشير إلى ما إذا كان مستشعر الرؤية المحدد يقوم بالتسجيل حاليًا.
True- يقوم مستشعر الرؤية المحدد بالتسجيل.False- مستشعر الرؤية المحدد لا يسجل.
طريقة الاستخدام:
drone.camera.is_recording(camera)
حدود |
وصف |
|---|---|
|
مستشعر الرؤية للتحقق من حالة التسجيل لـ: |
# Use button 7 to start and stop recording
def toggle_recording():
if drone.camera.is_recording(FORWARD_CAMERA):
drone.camera.stop_recording(FORWARD_CAMERA)
else:
drone.camera.start_recording(FORWARD_CAMERA)
controller.button7.pressed(toggle_recording)
# Make video recordings while you control the drone
controller.screen.show_camera(FORWARD_CAMERA)
drone.take_off(climb_to=500)
while True:
# Move with controller
drone.move_with_vectors(
forward=controller.axis4.position(),
rightward=controller.axis3.position(),
upward=controller.axis1.position(),
rotation=controller.axis2.position()
)
wait(5, MSEC)
get_recording_time#
get_recording_time تُرجع مقدار الوقت الذي قام فيه مستشعر الرؤية المحدد بالتسجيل كعدد عشري (float) بالثواني.
طريقة الاستخدام:
drone.camera.get_recording_time(camera)
حدود |
وصف |
|---|---|
|
مستشعر الرؤية للتحقق من وقت التسجيل لـ: |
# Record a video for 10 seconds
controller.screen.show_camera(FORWARD_CAMERA)
drone.camera.start_recording(FORWARD_CAMERA)
drone.take_off(climb_to=500)
while not (drone.camera.get_recording_time(FORWARD_CAMERA)) >= 10:
wait(5, MSEC)
drone.camera.stop_recording(FORWARD_CAMERA)