Kamera#

giriiş#

VEX AIR Drone, uçuş sırasında hem görüntü hem de video kaydedebilen, ön ve alt kısımda olmak üzere iki adet yerleşik kamera görevi gören Görüş Sensörü içerir. VEXcode AIR’de “kamera” kelimesi her zaman bu Görüş Sensörlerinden birini ifade eder. Örneğin, drone.camera.start_recording(FORWARD_CAMERA)gibi bir komutta, camera Görüş Sensörlerini ifade eder ve FORWARD_CAMERA öne bakanı seçer.

VEX AIR Drone Kontrol Cihazından video kayıtlarını ve görüntüleri aktarmak için, kontrol cihazını bilgisayarınıza bağlayın. Cihaz, bir yığın depolama aygıtı (USB belleğe benzer) olarak görünecek ve dosyaları doğrudan kopyalamanıza olanak tanıyacaktır. Bir projeyi bitirdikten sonra, kopyalama işlemine başlamadan önce kontrol cihazının droneden tüm görüntüleri veya kayıtları indirmesini yaklaşık bir dakika bekleyin.

Aşağıda mevcut tüm yöntemlerin listesi bulunmaktadır:

İşlemler

Değiştiriciler

  • show_camera – VEX AIR Drone Kontrol Cihazında seçilen Görüş Sensörünü gösterir.

  • hide_camera – Kontrol cihazındaki Görüntü Sensörü görüntüsünü gizler.

  • set_overlay_reticle – Yer paylaşımı nişangahını gösterir veya gizler.

  • set_overlay_telemetry – Telemetri verilerini gösterir veya gizler.

Alıcılar

Eylemler#

start_recording#

start_recording , belirtilen Görüntü Sensörü ile kaydı başlatır.

Kayıtları görüntüleme ve alma hakkında bilgi için buraya gidin.

Kullanım:

drone.camera.start_recording(camera)

Parametreler

Tanım

camera

Görüntü Sensörü ile kayıt yapılacak seçenek: DOWNWARD_CAMERA veya 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 belirtilen Görüntü Sensörünün kaydını durdurur.

Kayıtları görüntüleme ve alma hakkında bilgi için buraya gidin.

Kullanım:

drone.camera.stop_recording(camera)

Parametreler

Tanım

camera

Görüntü sensörünü kullanarak kaydı durdurun: DOWNWARD_CAMERA veya 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 , belirtilen Görüntü Sensörü ile bir fotoğraf çeker.

Yakalanan görüntüleri görüntüleme ve alma hakkında bilgi için buraya gidin.

Kullanım:

drone.camera.capture_image(camera)

Parametreler

Tanım

camera

Fotoğraf çekmek için kullanılacak Görüntü Sensörü: DOWNWARD_CAMERA veya 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)

Mutatörler#

show_camera#

show_camera komutu, geçerli ekran modunu belirtilen Görüntü Sensörü görüntüsüne ayarlar.

Kullanım:

controller.screen.show_camera(camera)

Parametreler

Tanım

camera

Görüntü Sensöründen görüntülenecek veri: DOWNWARD_CAMERA veya 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 komutu, belirtilen Görüntü Sensörünün görüntüsünü gizler.

Kullanım:

controller.screen.hide_camera()

Parametreler

Tanım

Bu yöntemin parametresi yoktur.

# 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 komutu, bindirme nişangahını etkinleştirir veya devre dışı bırakır. Nişangah, nişan almaya veya nesneleri hizalamaya yardımcı olmak için kameranın görüş alanında görünen, artı işareti gibi görsel bir işarettir.

Varsayılan olarak, nişangah yerleşimi, projenin başlangıcında yalnızca aşağıya bakan Görüş Sensöründe True olarak ayarlanır.

Usage:
controller.screen.set_overlay_reticle(state)

Parametreler

Tanım

state

Üst üste bindirilmiş nişangahın durumu: True üst üste bindirilmiş nişangahı etkinleştirir. False üst üste bindirilmiş nişangahı devre dışı bırakır.

# 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 komutu, drone’un telemetri verilerinin kontrol cihazının ekranında görünürlüğünü etkinleştirir veya devre dışı bırakır. Telemetri, drone uçarken veya bir proje çalıştırırken drone’dan gelen canlı verilerdir.

Varsayılan olarak, telemetri veri katmanı proje başlangıcında True olarak ayarlanır.

Usage:
controller.screen.set_overlay_telemetry(state)

Parametreler

Tanım

state

Telemetri verilerinin durumu: True ekranda telemetri verilerinin görüntülenmesini sağlar. False ekranda telemetri verilerinin görüntülenmesini devre dışı bırakır.

# 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 , belirtilen bir Görüntü Sensörünün şu anda kayıt yapıp yapmadığını gösteren bir Boolean değeri döndürür.

  • True – Belirtilen Görüntü Sensörü kayıt yapıyor.

  • False – Belirtilen Görüntü Sensörü kayıt yapmıyor.

Kullanım:

drone.camera.is_recording(camera)

Parametreler

Tanım

camera

Görüntü Sensörü, aşağıdaki kameraların kayıt durumunu kontrol eder: DOWNWARD_CAMERA veya 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 , belirli bir Vision Sensor’ün kayıt yaptığı süreyi saniye cinsinden ondalık (float) olarak döndürür.

Kullanım:

drone.camera.get_recording_time(camera)

Parametreler

Tanım

camera

Görüntü Sensörü, aşağıdaki kameraların kayıt süresini kontrol eder: DOWNWARD_CAMERA veya 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)