Visión#

Inicializando la clase Visión#

Un sensor de visión se crea utilizando el siguiente constructor:

Visión(puerto, brillo, señales)

Este constructor utiliza tres parámetros:

Parámetro

Descripción

puerto

Un Puerto inteligente válido al que está conectado el sensor de visión de IA.

brillo

Opcional. El valor de brillo del sensor de visión, de 1 a 100.

sigs

Opcional. El nombre de uno o más objetos Firma.

# Create a new Signature "dark_blue" with the Colordesc class.
dark_blue = Signature(1, -3911, -3435, -3673,10879, 11421, 11150,2.5, 0)
# Create a new Vision Sensor "vision_1" with the Vision
# class, with the "dark_blue" Signature.
vision_1 = Vision(Ports.PORT1, 100, dark_blue)

Este objeto vision_1 de AiVision y el objeto dark_blue Signature se utilizarán en todos los ejemplos posteriores en esta documentación de API cuando se haga referencia a los métodos de la clase Vision.

Clases relacionadas

Métodos de clase#

tomar_instantánea()#

El método take_snapshot(index, count) toma la instantánea actual visible para el sensor de visión y detecta los objetos de una Firma o Código determinada.

Antes de tomar una instantánea, debes configurar las firmas que el sensor de visión debe buscar.

Parámetros

Descripción

índice

Una Firma o Código.

contar

Opcional. El número máximo de objetos a obtener. El valor predeterminado es 8.

Devuelve: Una tupla de objetos detectados o una tupla vacía si no hay nada disponible.

while True: 
    # Create a tuple named "darkblue_objects" of detected objects
    # matching the "dark_blue" Signature.
    darkblue_objects = vision_1.take_snapshot(dark_blue)

    # Clear the screen/reset so that we can display 
    # new information.
    brain.screen.clear_screen()
    brain.screen.set_cursor(1, 1)

    # Print the amount of objects detected that matched
    # the "dark_blue" Signature using the len command.
    brain.screen.print("object count:", len(vision_objects))
    # Wait 0.5 seconds before repeating the loop and
    # taking a new snapshot.
    wait(0.5, SECONDS)

objeto_más_grande()#

El método largest_object() recupera el objeto más grande detectado por el sensor de visión en la última instantánea.

Propiedades del objeto de visión

Descripción

identificación

El identificador único del objeto.

origenX

La posición x superior izquierda del objeto.

origen

La posición y superior izquierda del objeto.

centroX

La posición central x del objeto.

centroY

La posición central y del objeto.

ancho

El ancho del objeto.

altura

La altura del objeto.

ángulo

El ángulo del objeto.

existe

Si la cámara Vision detecta el objeto.

Devuelve: Un objeto Vision o Ninguno si no existe.

while True: 
    # Create a tuple named "darkblue_objects" of detected objects
    # matching the "dark_blue" Signature.
    darkblue_objects = vision_1.take_snapshot(dark_blue)
    
    # Clear the screen/reset so that we can display
    # new information.
    brain.screen.clear_screen()
    brain.screen.set_cursor(1, 1)

    # Print the largest detected object's CenterX
    # coordinate to the Brain's screen.
    brain.screen.print("Center X: ", vision_1.largest_object.centerX)
    # Wait 0.5 seconds before repeating the loop and
    # taking a new snapshot.
    wait(0.5, SECONDS)

instalado()#

El método installed() verifica si el sensor de visión está conectado.

Devuelve: «Verdadero» si el sensor de visión está conectado. «Falso» si no lo está.

marca de tiempo()#

El método timestamp() devuelve la marca de tiempo del último paquete de estado recibido del sensor de visión.

Devuelve: La marca de tiempo del último paquete de estado recibido en milisegundos.