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
is_recording– Visszaadja, hogy a vizuális érzékelő rögzít-e.get_recording_time– Visszaadja a felvételre fordított időt.
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 |
|---|---|
|
A rögzítéshez használt vizuális érzékelő: |
# 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 |
|---|---|
|
A vizuális érzékelő a következővel állítja le a felvételt: |
# 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 |
|---|---|
|
A vizuális érzékelő a következővel készíthető kép: |
# 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 |
|---|---|
|
A vizuális érzékelő által megjelenítendő jelfolyam: |
# 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 |
|---|---|
|
A ráhelyezett szálkereszt állapota: |
# 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 |
|---|---|
|
A telemetriai adatok állapota: |
# 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 |
|---|---|
|
A vizuális érzékelő a következő felvételi állapot ellenőrzésére szolgál: |
# 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 |
|---|---|
|
A vizuális érzékelő a következő felvételi idő ellenőrzéséhez: |
# 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)