grayscale_bilateral_filter.py
# Esta obra está licenciada bajo la licencia MIT.
# Copyright (c) 2013-2023 OpenMV LLC. Todos los derechos reservados.
# https://github.com/openmv/openmv/blob/master/LICENSE
#
# Ejemplo de filtro bilateral en escala de grises
#
# Este ejemplo muestra cómo usar el filtro bilateral en imágenes en escala de grises.
import csi
import time
csi0 = csi.CSI()
csi0.reset() # Inicializar el sensor de la cámara.
csi0.pixformat(csi.GRAYSCALE) # o csi.RGB565
csi0.framesize(csi.QQVGA) # o csi.QVGA (u otros)
csi0.snapshot(time=2000) # Deje que la nueva configuración surta efecto.
clock = time.clock() # Registra los FPS.
while True:
clock.tick() # Registre los milisegundos transcurridos entre snapshots().
img = csi0.snapshot() # Tomar una foto y devolver la imagen.
# color_sigma controla cuán próximos deben estar los píxeles en términos de color para que
# se mezclen entre sí. Un valor más pequeño significa que deben estar más próximos.
# Un valor más grande es menos estricto.
# space_sigma controla cuán próximos deben estar los píxeles en términos de espacio para que
# se mezclen entre sí. Un valor más pequeño significa que deben estar más próximos.
# Un valor más grande es menos estricto.
# Ejecuta el kernel en cada píxel de la imagen.
img.bilateral(3, color_sigma=0.1, space_sigma=1)
# Tenga en cuenta que el filtro bilateral puede introducir defectos en la imagen si establece
# color_sigma/space_sigma de forma demasiado agresiva. Aumente los valores de sigma hasta que
# los defectos desaparezcan si los observa.
print(clock.fps()) # Nota: Su OpenMV Cam funciona aproximadamente a la mitad de velocidad mientras
# está conectada a su computadora. Los FPS deberían aumentar una vez desconectada.