- Riconoscimento facciale
- Sistemi di riconoscimento dell'iride
- Riconoscimento dei gesti
- Interazione uomo-computer (HCI)
- Robotica mobile
- Identificazione degli oggetti
- Segmentazione e riconoscimento
- Stereopsis stereovisione: percezione della profondità da 2 telecamere
- Realtà aumentata
- Pixel con valore di intensità inferiore alla soglia.
- Pixel con valore di intensità maggiore della soglia.
L'immagine RGB in input viene prima convertita in un'immagine in scala di grigi prima che venga eseguita la soglia.
Tipi di soglia
Dei due gruppi ottenuti in precedenza al gruppo avente membri con intensità di pixel maggiore della soglia impostata viene assegnato Max_Value o nel caso di una scala di grigi un valore di 255 (bianco). I membri del gruppo rimanente hanno l'intensità dei pixel impostata su 0 (nero).
Se il valore dell'intensità dei pixel in (xy) nell'immagine sorgente è maggiore della soglia, il valore nell'immagine finale è impostato su maxVal.
Inv. La soglia binaria è uguale alla soglia binaria. L'unica differenza essenziale è che nella soglia Inv.Binary il gruppo con intensità di pixel superiori alla soglia impostata viene assegnato "0" mentre i restanti pixel con intensità inferiori alla soglia sono impostati su maxVal.
Se il valore dell'intensità dei pixel in (xy) nell'immagine sorgente è maggiore della soglia, il valore nell'immagine finale è impostato su 0 altrimenti è impostato su maxVal.
Il gruppo avente intensità di pixel maggiori della soglia impostata viene troncato alla soglia impostata o in altre parole i valori dei pixel vengono impostati in modo che siano uguali alla soglia impostata. Tutti gli altri valori rimangono gli stessi.
Se il valore dell'intensità dei pixel in (xy) nell'immagine sorgente è maggiore della soglia, il valore nell'immagine finale viene impostato sulla soglia altrimenti rimane invariato.
Una tecnica di soglia molto semplice in cui impostiamo l'intensità dei pixel su "0" per tutti i pixel del gruppo aventi un valore di intensità dei pixel inferiore alla soglia.
Se il valore dell'intensità dei pixel in (xy) nell'immagine sorgente è maggiore della soglia, il valore in (xy) nell'immagine finale non cambia. Tutti i pixel rimanenti sono impostati su "0".
Similmente alla tecnica precedente, qui impostiamo l'intensità dei pixel su "0" per tutti i pixel del gruppo aventi un valore di intensità dei pixel maggiore della soglia.
Se il valore dell'intensità dei pixel in (xy) nell'immagine sorgente è maggiore della soglia, il valore in (xy) nell'immagine finale è impostato su "0". Tutti i valori dei pixel rimanenti rimangono invariati. Per compilare programmi OpenCV è necessario che la libreria OpenCV sia installata sul tuo sistema. Nei prossimi giorni pubblicherò un semplice tutorial per lo stesso. Se hai già installato OpenCV, esegui il codice seguente con l'immagine di input di tua scelta. CPP // CPP program to demonstrate segmentation // thresholding. #include #include #include #include using namespace cv; int main(int argc char** argv) { if (argc != 2) { cout << ' Usage: ' ' ' << endl; return -1; } int threshold_value = 0; // Valid Values: 0 1 2 3 4 int threshold_type = 2; // maxVal useful for threshold_type 1 and 2 int maxVal = 255; // Source image Mat src = imread(argv[1] 1); cvNamedWindow('Original' CV_WINDOW_NORMAL); imshow('Original' src); Mat src_gray dst; // Convert the image to GrayScale cvtColor(src src_gray CV_BGR2GRAY); // Create a window to display results cvNamedWindow('Result' CV_WINDOW_NORMAL); createTrackbar('Threshold' 'Result' &threshold_value 255); while (1) { threshold(src_gray dst threshold_value maxVal threshold_type); imshow('Result' dst); waitKey(1); } }