cv2.threshold(img , val_rif , val_assegnato , modalità)Il suo funzionamento è molto semplice: accetta, tra i parametri di input, l'immagine in scala di grigi da elaborare (
img) e genera in uscita una immagine i cui pixel possono assumere solo 2 valori: '0' se sono al di sotto di val_rif oppure val_assegnato per tutti i pixel dell'immagine originale che superano val_rif.Le modalità di funzionamento possono essere:
- cv2.THRESH_BINARY
- cv2.THRESH_BINARY_INV
- cv2.THRESH_TRUNC
- cv2.THRESH_TOZERO
- cv2.THRESH_TOZERO_INV
Ecco il codice di esempio:
#!/usr/bin/env python
# -*- coding: utf-8 -*-
import cv2
img = cv2.imread("test1.jpg",1) # legge una immagine da un file
cv2.imshow('Immagine caricata dal file...',img) # mostra l'immagine in una finestra
gray_image = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY) # converte in scala di grigi
# soglia binaria : se è sopra passa e viene saturata al livello specificato (255),
# ...se il valore è inferiore viene annullato (0)
ret,soglia = cv2.threshold(gray_image,127,255,cv2.THRESH_BINARY) ########################
cv2.imshow('Immagine filtrata con soglia=127',soglia) # mostra l'immagine ottenuta in una finestra
k = cv2.waitKey(0) # attende che venga premuto un tasto
cv2.destroyAllWindows() # ...chiude tutte le finestre
Esercizio:
Provare a variare il valore della soglia, e quello del valore di saturazione..cosa succede?Per ulteriori approfondimenti rimando alla documentazione ufficiale
Nessun commento:
Posta un commento