Python Programming Tutorials
Il Novembre 29, 2021 da adminDisegnare e scrivere su immagini OpenCV Python Tutorial
In questo tutorial di OpenCV con Python, copriremo come disegnare varie forme sulle vostre immagini e video. È abbastanza comune voler marcare gli oggetti rilevati in qualche modo, così noi umani possiamo facilmente vedere se i nostri programmi stanno funzionando come speriamo. Un esempio di questo potrebbe essere una delle immagini mostrate prima:
Per questo esempio temporaneo, userò la seguente immagine:
Si consiglia di usare la propria immagine. Come al solito, il nostro codice di partenza può essere qualcosa come:
import numpy as npimport cv2img = cv2.imread('watch.jpg',cv2.IMREAD_COLOR)
Poi, possiamo iniziare a disegnare, come:
cv2.line(img,(0,0),(150,150),(255,255,255),15)cv2.imshow('image',img)cv2.waitKey(0)cv2.destroyAllWindows()
Il cv2.line() prende i seguenti parametri: dove, coordinate iniziali, coordinate finali, colore (bgr), spessore della linea.
Il risultato qui:
Va bene, forte, diventiamo assurdi con qualche altra forma. Il prossimo, un rettangolo:
cv2.rectangle(img,(15,25),(200,150),(0,0,255),15)
I parametri qui sono l’immagine, la coordinata in alto a sinistra, la coordinata in basso a destra, il colore e lo spessore della linea.
Che ne dite di un cerchio?
cv2.circle(img,(100,63), 55, (0,255,0), -1)
I parametri qui sono l’immagine/quadro, il centro del cerchio, il raggio, il colore e lo spessore. Notate che abbiamo un -1 per lo spessore. Questo significa che l’oggetto sarà effettivamente riempito, quindi otterremo un cerchio riempito.
Linee, rettangoli e cerchi sono belli e tutto, ma cosa succede se vogliamo un pentagono, o ottagono, o ottdecagono? Nessun problema!
Primo, nominiamo pts, abbreviazione di points, come un array numpy di coordinate. Poi, usiamo cv2.polylines per disegnare le linee. I parametri sono i seguenti: dov’è l’oggetto da disegnare, le coordinate, dobbiamo “collegare” il punto finale e quello iniziale, il colore, e ancora lo spessore.
L’ultima cosa che potreste voler fare è scrivere sull’immagine. Questo può essere fatto così:
font = cv2.FONT_HERSHEY_SIMPLEXcv2.putText(img,'OpenCV Tuts!',(0,130), font, 1, (200,255,155), 2, cv2.LINE_AA)
Il codice completo fino a questo punto sarebbe qualcosa come:
Il risultato:
Nel prossimo tutorial, copriremo le operazioni di base sulle immagini che possiamo eseguire.
Lascia un commento