Cámara#
Introducción#
El dron VEX AIR incluye dos sensores de visión que sirven como cámaras a bordo, una en la parte frontal y otra en la parte inferior. Estos pueden capturar imágenes y videos durante el vuelo. En VEXcode AIR, la palabra “cámara” siempre se refiere a uno de estos sensores de visión. Por ejemplo, en un comando como drone.camera.start_recording(FORWARD_CAMERA), camera se refiere a los sensores de visión y FORWARD_CAMERA selecciona el frontal.
Para transferir grabaciones de video e imágenes desde el controlador de drones VEX AIR, conecte el controlador a su computadora. Aparecerá como un dispositivo de almacenamiento masivo (similar a una unidad USB), lo que le permitirá copiar archivos directamente. Después de finalizar un proyecto, espere aproximadamente un minuto para que el controlador termine de descargar cualquier imagen o grabación del dron antes de intentar copiarlas.
A continuación se muestra una lista de todos los métodos disponibles:
Acciones
start_recording– Graba video desde un sensor de visión.stop_recording– Detiene la grabación desde un sensor de visión.capture_image– Captura una imagen de un sensor de visión.
Mutadores
show_camera– Muestra el sensor de visión seleccionado en el controlador de drones VEX AIR.hide_camera– Oculta la alimentación del sensor de visión en el controlador.set_overlay_reticle– Muestra u oculta la retícula de superposición.set_overlay_telemetry– Muestra u oculta los datos de telemetría.
Getters
is_recording– Devuelve si el sensor de visión está grabando.get_recording_time– Devuelve el tiempo dedicado a la grabación.
Acciones#
start_recording#
start_recording inicia una grabación con el sensor de visión especificado.
Para obtener información sobre cómo ver y recuperar grabaciones, vaya aquí.
Uso:
drone.camera.start_recording(camera)
Parámetros |
Descripción |
|---|---|
|
El sensor de visión para grabar con: |
# 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 detiene la grabación del sensor de visión especificado.
Para obtener información sobre cómo ver y recuperar grabaciones, vaya aquí.
Uso:
drone.camera.stop_recording(camera)
Parámetros |
Descripción |
|---|---|
|
El sensor de visión para detener la grabación con: |
# 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 toma una foto con el sensor de visión especificado.
Para obtener información sobre cómo ver y recuperar imágenes capturadas, vaya aquí.
Uso:
drone.camera.capture_image(camera)
Parámetros |
Descripción |
|---|---|
|
El sensor de visión para tomar una foto con: |
# 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)
Mutadores#
show_camera#
show_camera establece el modo de pantalla actual en la alimentación del sensor de visión especificada.
Uso:
controller.screen.show_camera(camera)
Parámetros |
Descripción |
|---|---|
|
El sensor de visión se alimenta para mostrar: |
# 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 oculta la alimentación del sensor de visión especificado.
Uso:
controller.screen.hide_camera()
Parámetros |
Descripción |
|---|---|
Este método no tiene parámetros. |
# 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 habilita o deshabilita la retícula de superposición. Una retícula es un marcador visual, como un punto de mira, que aparece en la vista de la cámara para ayudar a apuntar o alinear objetos.
Por defecto, la superposición de la retícula se establece en True al inicio de un proyecto, solo en el sensor de visión inferior.
Usage:
controller.screen.set_overlay_reticle(state)
Parámetros |
Descripción |
|---|---|
|
El estado de la retícula de superposición: |
# 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 habilita o deshabilita la visibilidad de los datos de telemetría del dron en la pantalla del controlador. La telemetría son datos en vivo del dron mientras está volando o ejecutando un proyecto.
Por defecto, la superposición de datos de telemetría está configurada en True al inicio de un proyecto.
Usage:
controller.screen.set_overlay_telemetry(state)
Parámetros |
Descripción |
|---|---|
|
El estado de los datos de telemetría: |
# 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)
Getters#
is_recording#
is_recording devuelve un booleano que indica si un sensor de visión especificado está grabando actualmente.
True: el sensor de visión especificado está grabando.False: el sensor de visión especificado no está grabando.
Uso:
drone.camera.is_recording(camera)
Parámetros |
Descripción |
|---|---|
|
El sensor de visión para verificar el estado de grabación de: |
# 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 devuelve la cantidad de tiempo que un sensor de visión específico ha estado registrando como un (float) decimal en segundos.
Uso:
drone.camera.get_recording_time(camera)
Parámetros |
Descripción |
|---|---|
|
El sensor de visión para comprobar el tiempo de grabación de: |
# 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)