Introducción

El IDE de CanMV permite crear archivos nuevos ya sea desde el menú archivo, desde el icono de la barra de herramientas o con la combinación de teclas asociada, pero no se crea un archivo en blanco, sino que se crea un archivo de nombre untitled_nn.py que contiene una serie de líneas de código que son las necesarias para comenzar a crear programas para el sensor de visión. Se trata de la estructura base de MicroPython siguiente:

untitled_nn.py

  • Módulo sensor: El módulo sensor se utiliza para capturar imágenes.

Ejemplo de uso:

    import sensor

    # Setup de la camera.
    sensor.reset()
    sensor.set_pixformat(sensor.RGB565)
    sensor.set_framesize(sensor.QVGA)
    sensor.skip_frames()

    # Toma de imágenes.
    while(True):
        sensor.snapshot()

Las funciones que incorpora son accesibles desde el autocompletado y algunas de ellas son:

sensor.reset()
sensor.sleep(enable)
sensor.shutdown(enable)
sensor.flush()
sensor.snapshot()
sensor.skip_frames([n, time])
sensor.width()
sensor.height()
sensor.get_fb()
sensor.get_id()
sensor.alloc_extra_fb(width, height, pixformat)
sensor.dealloc_extra_fb()
sensor.set_pixformat(pixformat)
sensor.get_pixformat()
sensor.set_framesize(framesize)
sensor.get_framesize()
sensor.set_framerate(rate)
sensor.get_framerate()
sensor.set_windowing(roi)
sensor.get_windowing()
sensor.set_gainceiling(gainceiling)
sensor.set_contrast(constrast)
sensor.set_brightness(brightness)
sensor.set_saturation(saturation)
sensor.set_quality(quality)
sensor.set_colorbar(enable)
sensor.set_auto_gain(enable, [gain_db=-1, [gain_db_ceiling]])
sensor.get_gain_db()
sensor.set_auto_exposure(enable, [exposure_us])
...

Si dejamos el cursor del ratón sobre la palabra sensor aparecerá una ventana emergente con información al respecto:

Ventana emergente sensor

  • Módulo image: El módulo image se utiliza para la visión artificial.

Las funciones que incorpora son accesibles desde el autocompletado y algunas de ellas son:

image.binary_to_grayscale(binary_image_value)
image.binary_to_rgb(binary_image_value)
image.grayscale_to_binary(grayscale_value)
image.grayscale_to_rgb(grayscale_value)
image.rgb_to_binary(rgb_tuple)
image.rgb_to_grayscale(rgb_tuple)
image.load_decriptor(path)
image.save_descriptor(path, descriptor)
image.match_descriptor(descritor0, descriptor1, [threshold=70, [filter_outliers=False]])
...

Todos los ejemplos que se verán en los apartados siguientes están disponibles en:

Acceso a los ejemplos incorporados en el IDE