5 utili tecniche di manipolazione delle immagini utilizzando Python OpenCV

Sfrutta la libreria OpenCV-Python per essere creativo con le immagini

Introduzione

Sebbene molti programmatori non debbano preoccuparsi di elaborare le immagini nel loro lavoro quotidiano, è probabile che dovremo occuparci di immagini per piccoli lavori. Ad esempio, potremmo aver bisogno di ridimensionare migliaia di immagini a una dimensione particolare, oppure potremmo aggiungere uno sfondo comune a tutte le immagini in una particolare directory. Senza una soluzione programmatica, queste attività sono molto noiose e richiedono molto tempo.

In questo articolo, voglio introdurre cinque tecniche di manipolazione di immagini di base utilizzando la libreria OpenCV che devono soddisfare alcune di queste esigenze. Se non hai installato OpenCV sul tuo computer, puoi installarlo molto comodamente con lo strumento pip: pip install opencv-python . Tieni presente che utilizziamo questa libreria utilizzando import cv2 , che è solo per estendere la convenzione di importare la vecchia versione di OpenCV con import cv .

Una volta che sei in grado di importare la libreria senza problemi, puoi provare alcune funzionalità in questo breve tutorial. A scopo dimostrativo, il presente articolo utilizzerà l’immagine mostrata all’inizio dell’articolo.

Prima di poter manipolare le immagini, la prima cosa è leggere l’immagine, operazione che può essere eseguita comodamente con la funzione imread , come mostrato di seguito.

1. Ridimensiona immagini

Un’attività comune è ridimensionare le immagini alla dimensione desiderata. Questo può essere fatto facilmente con la funzione resize () . A scopo dimostrativo, il codice seguente mostra solo come ridurre le immagini a dimensioni specifiche.

2. Colore su grigio

Per convertire l’immagine da colore a grigio, possiamo utilizzare la funzione cvtColor , come mostrato di seguito.


3. Immagini sovrapposte

A volte, dobbiamo aggiungere uno sfondo a un’immagine esistente per scopi di formattazione. Ad esempio, riempiendo un colore solido come margini, possiamo fare in modo che molte immagini di dimensioni diverse assumano la stessa forma. Diverse tecniche sono rilevanti qui.

Abbiamo creato tre immagini con colori a tinta unita e possiamo usarle come sfondi e sovrapporre alcune immagini su di esse.



4. Aggiungi testo

A volte, dobbiamo aggiungere del testo alle immagini esistenti. La funzione putText () è progettata per eseguire questa operazione. Il codice seguente mostra come aggiungere una stringa all’immagine. Per rendere il testo più facile da notare, aggiungerò semplicemente il testo all’immagine che è stata creata nella sezione precedente con uno sfondo a tinta unita, utilizzando il codice seguente.

Per aggiungere il testo al centro dell’immagine, dobbiamo calcolare la posizione corretta per il testo. Tuttavia, il prerequisito è sapere quanto tempo il testo occuperà nello spazio. Il codice seguente mostra come farlo.


5. Ruota e capovolgi le immagini

È anche possibile ruotare le immagini in modo programmatico. Come avrai notato, quando usiamo OpenCV in Python, abbiamo a che fare con gli array numpy . Quindi ruotare le immagini significa essenzialmente ruotare gli array numpy . C’è un metodo conveniente in OpenCV: rotate () per questa rotazione.



Oltre alla funzione rotate () , possiamo anche usare la funzione flip () per capovolgere le immagini. Il codice seguente mostra tale utilizzo.



Conclusioni

In questo articolo, esaminiamo cinque comuni tecniche di manipolazione delle immagini utilizzando OpenCV in Python. Spero che troverai utili queste tecniche quando elabori le immagini per il tuo lavoro.