Fotoaparát#
Zavedení#
Dron VEX AIR obsahuje dva obrazové senzory, které slouží jako palubní kamery – jeden na přední straně a jeden na spodní straně. Ty dokáží během letu zachytit jak snímky, tak video. V kódu VEXcode AIR se slovo „kamera“ vždy vztahuje k jednomu z těchto obrazových senzorů. Například v příkazu jako drone.camera.start_recording(FORWARD_CAMERA)se camera vztahuje na obrazové senzory a FORWARD_CAMERA vybírá ten, který směřuje dopředu.
Chcete-li přenést videozáznamy a obrázky z ovladače dronu VEX AIR, připojte ovladač k počítači. Zobrazí se jako velkokapacitní paměťové zařízení (podobné USB disku), což vám umožní přímo kopírovat soubory. Po ukončení projektu počkejte přibližně minutu, než ovladač dokončí stahování všech obrázků nebo nahrávek z dronu, než se je pokusíte zkopírovat.
Níže je uveden seznam všech dostupných metod:
Akce
start_recording– Nahrává video z obrazového senzoru.stop_recording– Zastaví nahrávání z obrazového senzoru.capture_image– Zachytí obraz z obrazového senzoru.
Mutátory
show_camera– Zobrazuje vybraný kamerový senzor na ovladači dronu VEX AIR.hide_camera– Skryje obraz z kamerového senzoru na ovladači.set_overlay_reticle– Zobrazí nebo skryje překryvnou osnovu.set_overlay_telemetry– Zobrazí nebo skryje telemetrická data.
Získávači
is_recording– Vrací, zda kamerový senzor nahrává.get_recording_time– Vrátí čas strávený nahráváním.
Akce#
start_recording#
start_recording spustí nahrávání se zadaným kamerovým senzorem.
Informace o prohlížení a načítání nahrávek naleznete zde.
Používání:
drone.camera.start_recording(camera)
Parametry |
Popis |
|---|---|
|
Kamerový senzor pro nahrávání: |
# 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 zastaví nahrávání zadaného kamerového senzoru.
Informace o prohlížení a načítání nahrávek naleznete zde.
Používání:
drone.camera.stop_recording(camera)
Parametry |
Popis |
|---|---|
|
Kamerový senzor pro zastavení nahrávání pomocí: |
# 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 pořídí snímek pomocí zadaného obrazového senzoru.
Informace o prohlížení a načítání pořízených snímků naleznete zde.
Používání:
drone.camera.capture_image(camera)
Parametry |
Popis |
|---|---|
|
Kamerový senzor pro pořízení snímku: |
# 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)
Mutátory#
show_camera#
show_camera nastaví aktuální režim obrazovky na zadaný signál z vizuální kamery.
Používání:
controller.screen.show_camera(camera)
Parametry |
Popis |
|---|---|
|
Zobrazení obrazu z kamerového senzoru: |
# 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 skryje obraz ze zadaného kamerového senzoru.
Používání:
controller.screen.hide_camera()
Parametry |
Popis |
|---|---|
Tato metoda nemá žádné parametry. |
# 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 povoluje nebo zakazuje překrývající se zaměřovací kříž. Zaměřovací kříž je vizuální značka, podobně jako zaměřovací kříž, která se zobrazuje v zorném poli kamery a pomáhá s mířením nebo zarovnáním objektů.
Ve výchozím nastavení je překrytí osnovy na začátku projektu nastaveno na True , pouze na dolním senzoru Vision Sensor.
Usage:
controller.screen.set_overlay_reticle(state)
Parametry |
Popis |
|---|---|
|
Stav překryvné osnovy: |
# 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 povoluje nebo zakazuje viditelnost telemetrických dat dronu na obrazovce ovladače. Telemetrie jsou živá data z dronu během letu nebo spouštění projektu.
Ve výchozím nastavení je překrytí telemetrických dat na začátku projektu nastaveno na True.
Usage:
controller.screen.set_overlay_telemetry(state)
Parametry |
Popis |
|---|---|
|
Stav telemetrických dat: |
# 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)
Gettery#
is_recording#
is_recording vrací booleovskou hodnotu označující, zda zadaný kamerový senzor aktuálně nahrává.
True– Zadaný kamerový senzor nahrává.False– Zadaný kamerový senzor nezaznamenává.
Používání:
drone.camera.is_recording(camera)
Parametry |
Popis |
|---|---|
|
Kamerový senzor pro kontrolu stavu nahrávání: |
# 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 vrací dobu, po kterou daný kamerový senzor nahrával, jako desetinné číslo (float) v sekundách.
Používání:
drone.camera.get_recording_time(camera)
Parametry |
Popis |
|---|---|
|
Kamerový senzor pro kontrolu doby záznamu: |
# 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)