/ / Algoritmo OpenCV di ricerca dei contorni e creazione del rettangolo di delimitazione - python, algoritmo, opencv, computer-vision, contorno

Algoritmo OpenCV di ricerca di contorni e creazione di rettangolo di delimitazione - python, algoritmo, opencv, computer-vision, contorno

Ciao a tutta la società dei programmatori!

Mi è diventato normale abituarmiriconoscimento di ogni algoritmo che impiego nei progetti. E non molto tempo fa ho implementato i metodi di libreria OpenCV per rilevare i contorni all'interno del frame di input e per disegnare un rettangolo di delimitazione attorno all'oggetto rilevato. Quindi mi sono posto una domanda: quale algoritmo è effettivamente usato da OpenCV quando chiama metodi appropriati? (Intendo i metodi exacty cv2.findContours e cv2.boundingRect)

Grazie in anticipo.

risposte:

4 per risposta № 1

Secondo la documentazione di OpenCV findContours utilizza "Suzuki, S. e Abe, K., Analisi topologica strutturale di immagini binarie digitalizzate dopo il confine successivo"

La funzione recupera i contorni dall'immagine binaria utilizzando l'algoritmo [Suzuki85].

Non ho trovato la descrizione dell'algoritmo Rect bounding ma ho trovato questo file in opencv repo

7.a. Rettangolo rettilineo È un rettangolo retto, non considera la rotazione dell'oggetto, quindi l'area del rettangolo di delimitazione non sarà minima. È trovato dalla funzione cv2.boundingRect (). Sia (x, y) la coordinata in alto a sinistra del rettangolo e (w, h) la sua larghezza e altezza. @code {.py} x, y, w, h = cv2.boundingRect (cnt) cv2.rectangle (img, (x, y), (x + w, y + h), (0,255,0), 2) @endcode

Quindi sembra che boundingRect trovi solo le coordinate minime e massime dell'insieme di punti di input

PS Scusa per il mio povero inglese