Salve ragazzi, sto facendo un piccolo progetto in C con le librerie OpenCV.
Ho attaccato un puntatore laser (rosso) alla webcam, e quello che mi "serve" di fare in poche parole è riconoscere il puntino nelle foto della webcam, calcolare la distanza (contare il numero di pixel) dal puntino al centro dell'immagine e tracciare due righe (perpendicolari) rosse che dividono in 4 l'immagine e che si intersecano sul puntino formando una specie di croce..
Ho scaricato svariati manuali di OpenCV (a dire il vero è da un po' che le uso ma mi sono sempre tenuto molto "in superficie" ed ora volevo scendere un pochino più a fondo).
Naturalmente non vi chiedo il codice già bello che fatto altrimenti che gusto c'è? :P
A parte gli scherzi non lo farei mai
Comunque il primo grosso scoglio che non riesco a superare neanche con quei manuali è praticamente l'inizio......come posso fare per far riconoscere al programma quel benedetto puntino rosso? In testa ho una soluzione del tipo:
Ora, come traduco quel "Se trovi un punto "più rosso" del precedente" in C?codice:int i, j; //variabili che utilizzerò nei cicli per "scansionare" pixel per pixel l'immagine int max_rosso[2]; //array nel quale salverò riga e colonna relative al pixel più rosso for(i=0; i<immagine->height; i++){ for(j=0; j<immagine->width; j++){ Se trovi un punto "più rosso" del precedente{ max_rosso[0] = i; //altezza max_rosso[1] = j; //larghezza } } }
Per ora la mia domanda è questa..spero che qualche buon anima di voi mi aiuti e la ringrazio in anticipo, ciao!!


Rispondi quotando