grayscale_bilateral_filter.py
# Questo lavoro è concesso in licenza MIT.
# Copyright (c) 2013-2023 OpenMV LLC. Tutti i diritti riservati.
# https://github.com/openmv/openmv/blob/master/LICENSE
#
# Esempio di filtro bilaterale in scala di grigi
#
# Questo esempio mostra come usare il filtro bilaterale su immagini in scala di grigi.
import csi
import time
csi0 = csi.CSI()
csi0.reset() # Inizializza il sensore della fotocamera.
csi0.pixformat(csi.GRAYSCALE) # oppure csi.RGB565
csi0.framesize(csi.QQVGA) # oppure csi.QVGA (o altri)
csi0.snapshot(time=2000) # Lasciare che le nuove impostazioni abbiano effetto.
clock = time.clock() # Traccia gli FPS.
while True:
clock.tick() # Traccia i millisecondi trascorsi tra le chiamate a snapshot().
img = csi0.snapshot() # Scatta una foto e restituisce l'immagine.
# color_sigma controlla quanto i pixel devono essere simili in termini di colore per essere
# sfocati insieme. Un valore più piccolo significa che devono essere più simili.
# Un valore più grande è meno restrittivo.
# space_sigma controlla quanto i pixel devono essere vicini spazialmente tra loro per essere
# sfocati insieme. Un valore più piccolo significa che devono essere più simili.
# Un valore più grande è meno restrittivo.
# Eseguire il kernel su ogni pixel dell'immagine.
img.bilateral(3, color_sigma=0.1, space_sigma=1)
# Notare che il filtro bilaterale può introdurre difetti nell'immagine se si impostano
# color_sigma/space_sigma in modo troppo aggressivo. Aumenta i valori di sigma finché
# i difetti non scompaiano, se li vedi.
print(clock.fps()) # Nota: la tua OpenMV Cam funziona a circa metà velocità quando
# è collegata al computer. Il framerate dovrebbe aumentare una volta scollegata.