Kamera#
Johdanto#
VEX AIR -droonissa on kaksi koneen sisäisinä kameroina toimivaa näköanturia – yksi edessä ja toinen pohjassa. Nämä voivat tallentaa sekä kuvia että videota lennon aikana. VEXcode AIRissa sana “kamera” viittaa aina yhteen näistä näköantureista. Esimerkiksi komennossa drone.camera.start_recording(FORWARD_CAMERA) camera viittaa näköantureihin ja FORWARD_CAMERA valitsee eteenpäin olevan.
Siirtääksesi videotallenteita ja kuvia VEX AIR -drone-ohjaimesta, liitä ohjain tietokoneeseen. Se näkyy massamuistilaitteena (samanlainen kuin USB-asema), jonka avulla voit kopioida tiedostoja suoraan. Projektin lopettamisen jälkeen odota noin minuutti, että ohjain on ladannut kuvat tai tallenteet dronesta, ennen kuin yrität kopioida niitä.
Alla on luettelo kaikista käytettävissä olevista menetelmistä:
Toiminnot
start_recording– Tallentaa videota näköanturista.stop_recording– Pysäyttää tallennuksen näköanturista.capture_image– Kaappaa kuvan konenäköanturista.
Mutaattorit
show_camera– Näyttää valitun näköanturin VEX AIR -droonin ohjaimessa.hide_camera– Piilottaa näköanturin syötteen ohjaimessa.set_overlay_reticle– Näyttää tai piilottaa päällekkäisen ristikon.set_overlay_telemetry– Näyttää tai piilottaa telemetriatiedot.
Getters
is_recording– Palauttaa, tallentaako näköanturi.get_recording_time– Palauttaa tallennukseen käytetyn ajan.
Toiminnot#
start_recording#
start_recording aloittaa tallennuksen määritetyllä näköanturilla.
Lisätietoja tallenteiden katselusta ja hakemisesta on täällä siirry tänne.
Käyttö:
drone.camera.start_recording(camera)
Parametrit |
Kuvaus |
|---|---|
|
Näköanturi tallentaa seuraavasti: |
# 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 pysäyttää määritetyn näköanturin tallennuksen.
Lisätietoja tallenteiden katselusta ja hakemisesta on täällä siirry tänne.
Käyttö:
drone.camera.stop_recording(camera)
Parametrit |
Kuvaus |
|---|---|
|
Näköanturi lopettaa tallennuksen seuraavilla asetuksilla: |
# 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 ottaa kuvan määritetyllä näköanturilla.
Lisätietoja kaapattujen kuvien katselusta ja hakemisesta on täällä katso tästä.
Käyttö:
drone.camera.capture_image(camera)
Parametrit |
Kuvaus |
|---|---|
|
Näköanturi kuvan ottamista varten, kun käytössä on: |
# 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)
Mutaattorit#
show_camera#
show_camera asettaa nykyisen näyttötilan määritettyyn näköanturin syötteeseen.
Käyttö:
controller.screen.show_camera(camera)
Parametrit |
Kuvaus |
|---|---|
|
Näytettävän näköanturin syötteen: |
# 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 piilottaa määritetyn näköanturin syötteen.
Käyttö:
controller.screen.hide_camera()
Parametrit |
Kuvaus |
|---|---|
Tällä menetelmällä ei ole parametreja. |
# 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 ottaa käyttöön tai poistaa käytöstä päällekkäisen ristikon. Ristikko on visuaalinen merkki, kuten tähtäinristikko, joka näkyy kameran näkökentässä ja auttaa kohteiden tähtäämisessä tai linjaamisessa.
Oletusarvoisesti ristikon päällekkäisasetukseksi on asetettu True projektin alussa, vain alaspäin suuntautuvassa konenäköanturissa.
Usage:
controller.screen.set_overlay_reticle(state)
Parametrit |
Kuvaus |
|---|---|
|
Päällekkäisristikon tila: |
# 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 ottaa käyttöön tai poistaa käytöstä dronin telemetriatietojen näkyvyyden ohjaimen näytöllä. Telemetria on reaaliaikaista dataa dronesta sen lentäessä tai projektin suorittamisen aikana.
Oletusarvoisesti telemetriatietojen päällekkäisarvona on True projektin alussa.
Usage:
controller.screen.set_overlay_telemetry(state)
Parametrit |
Kuvaus |
|---|---|
|
Telemetriatietojen tila: |
# 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)
Getterit#
is_recording#
is_recording palauttaa totuusarvon, joka ilmaisee, tallentaako määritetty konenäköanturi parhaillaan.
True– Määritetty näköanturi tallentaa.False– Määritetty näköanturi ei tallenna.
Käyttö:
drone.camera.is_recording(camera)
Parametrit |
Kuvaus |
|---|---|
|
Näköanturi tarkistaa seuraavien tallennustilan: |
# 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 palauttaa tietyn näköanturin tallennusajan desimaalilukuna (float) sekunteina.
Käyttö:
drone.camera.get_recording_time(camera)
Parametrit |
Kuvaus |
|---|---|
|
Näköanturi tarkistaa seuraavien tallennusajan: |
# 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)