Kamera#

Bevezetés#

A VEX AIR drón két látószenzorral rendelkezik, amelyek fedélzeti kameraként szolgálnak – egy elöl, egy pedig alul. Ezek repülés közben képeket és videót is képesek rögzíteni. A VEXcode AIR-ben a „kamera” szó mindig az egyik látószenzorra utal. Például egy olyan parancsban, mint a drone.camera.start_recording(FORWARD_CAMERA), camera a látószenzorokra utal, FORWARD_CAMERA pedig az előre nézőt választja ki.

A VEX AIR drónvezérlőről videofelvételek és képek átviteléhez csatlakoztassa a vezérlőt a számítógépéhez. Ez egy tömeges tárolóeszközként (hasonlóan egy USB-meghajtóhoz) jelenik meg, amely lehetővé teszi a fájlok közvetlen másolását. Egy projekt befejezése után várjon körülbelül egy percet, amíg a vezérlő befejezi a képek vagy felvételek letöltését a drónról, mielőtt megpróbálná másolni őket.

Az alábbiakban felsoroljuk az összes elérhető módszert:

Műveletek

  • start_recording – Videót rögzít egy vizuális érzékelőről.

  • stop_recording – Leállítja a vizuális érzékelőről történő rögzítést.

  • capture_image – Képet rögzít egy vizuális érzékelőről.

Mutátorok

  • show_camera – Megjeleníti a kiválasztott vizuális érzékelőt a VEX AIR drónvezérlőn.

  • hide_camera – Elrejti a vizuális érzékelő képét a vezérlőn.

  • set_overlay_reticle – Megjeleníti vagy elrejti a fedvényen lévő szálkeresztet.

  • set_overlay_telemetry – Megjeleníti vagy elrejti a telemetriai adatokat.

Getterek

Műveletek#

start_recording#

start_recording Elindítja a felvételt a megadott vizuális érzékelővel.

A felvételek megtekintéséről és visszakereséséről további információt itt talál: kattintson ide.

Használat:

drone.camera.start_recording(camera)

Paraméterek

Leírás

camera

A rögzítéshez használt vizuális érzékelő: DOWNWARD_CAMERA vagy FORWARD_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 leállítja a megadott vizuális érzékelő rögzítését.

A felvételek megtekintéséről és visszakereséséről további információt itt talál: kattintson ide.

Használat:

drone.camera.stop_recording(camera)

Paraméterek

Leírás

camera

A vizuális érzékelő a következővel állítja le a felvételt: DOWNWARD_CAMERA vagy FORWARD_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 képet készít a megadott vizuális érzékelővel.

A rögzített képek megtekintéséről és visszaállításáról további információt itt talál: kattintson ide.

Használat:

drone.camera.capture_image(camera)

Paraméterek

Leírás

camera

A vizuális érzékelő a következővel készíthető kép: DOWNWARD_CAMERA vagy FORWARD_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)

Mutátorok#

show_camera#

show_camera A(z) „Visual Sensor” paraméter hatására a képernyőmód a megadott képérzékelő jelére van beállítva.

Használat:

controller.screen.show_camera(camera)

Paraméterek

Leírás

camera

A vizuális érzékelő által megjelenítendő jelfolyam: DOWNWARD_CAMERA vagy FORWARD_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 elrejti a megadott vizuális érzékelő hírcsatornáját.

Használat:

controller.screen.hide_camera()

Paraméterek

Leírás

Ennek a metódusnak nincsenek paraméterei.

# 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 engedélyezi vagy letiltja a fedvényként szolgáló szálkeresztet. A szálkereszt egy vizuális jelölő, például egy célkereszt, amely a kamera nézetében jelenik meg, hogy segítsen az objektumok célzásában vagy igazításában.

Alapértelmezés szerint a szálkereszt átfedése True értékre van állítva a projekt elején, csak a lefelé néző vizuális érzékelőn.

Usage:
controller.screen.set_overlay_reticle(state)

Paraméterek

Leírás

state

A ráhelyezett szálkereszt állapota: True engedélyezi a ráhelyezett szálkeresztet. False letiltja a ráhelyezett szálkeresztet.

# 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 Engedélyezi vagy letiltja a drón telemetriai adatainak láthatóságát a vezérlő képernyőjén. A telemetria élő adatok a drónról repülés vagy projekt futtatása közben.

Alapértelmezés szerint a telemetriai adatátfedés True értékre van állítva a projekt kezdetén.

Usage:
controller.screen.set_overlay_telemetry(state)

Paraméterek

Leírás

state

A telemetriai adatok állapota: True engedélyezi a telemetriai adatok megtekintését a képernyőn. False letiltja a telemetriai adatok megtekintését a képernyőn.

# 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)

Getterek#

is_recording#

is_recording Egy logikai értéket ad vissza, amely jelzi, hogy a megadott vizuális érzékelő jelenleg rögzít-e.

  • True – A megadott vizuális érzékelő rögzít.

  • False – A megadott vizuális érzékelő nem rögzít.

Használat:

drone.camera.is_recording(camera)

Paraméterek

Leírás

camera

A vizuális érzékelő a következő felvételi állapot ellenőrzésére szolgál: DOWNWARD_CAMERA vagy FORWARD_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 Visszaadja az adott Vision Sensor által végzett rögzítés időtartamát decimális (float) törtként másodpercben.

Használat:

drone.camera.get_recording_time(camera)

Paraméterek

Leírás

camera

A vizuális érzékelő a következő felvételi idő ellenőrzéséhez: DOWNWARD_CAMERA vagy FORWARD_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)