Sto provando a rilevare i rettangoli usando OpenCV. Tuttavia, a volte questo diventa piuttosto difficile dopo l'esecuzione del metodo Canny, perché due dei bordi vengono di solito cancellati. Ho provato molti diversi set di soglie e l'ho offuscato prima di applicare Canny, ma non ho ancora ottenuto risultati molto positivi. Al momento, non sto sfocando l'immagine, quindi questo è più o meno quello che sto facendo:Rilevamento dei bordi con OpenCV (Canny)
Mat imgSource = Highgui.imread(filepath);
Imgproc.Canny(imgSource, imgSource, 300, 600, 5, true);
Esempio:
original http://imagizer.imageshack.us/a/img822/8776/27i9j.jpg Canny http://imagizer.imageshack.us/a/img841/9868/wkc95.jpg
Poi, sto cercando il metodo findContours di OpenCV per rilevare il rettangolo, funziona l'80% delle volte, come posso migliorarlo?
come punto di partenza, prova a fare cvtColor (imgSource, imgSource, CV_BGR2GRAY); soglia (ImgSource, ImgSource, 25.255, THRESH_BINARY); e poi trovaContour –