Le migliori librerie Python per l'elaborazione delle immagini in 2021

Contenuti

introduzione

Come indica IDC, le informazioni digitali saliranno alle stelle fino a 175 zettabyte, e la gran parte di queste informazioni si rifletterà. Gli scienziati dei dati devono (pre) misurare queste immagini prima di trasformarle in modelli di intelligenza artificiale e apprendimento profondo. Devono fare il lavoro importante (e a volte sporco) prima che inizi la parte bella.

Per gestire una grande quantità di informazioni con efficienza e velocità senza negoziare i risultati, i data scientist devono utilizzare strumenti di preparazione delle immagini per attività di intelligenza artificiale e deep learning.

In questo articolo, Approfondirò le librerie di elaborazione delle immagini più utili in Python che vengono utilizzate con vigore nell'intelligenza artificiale e nelle attività di apprendimento profondo. Allora cominciamo!

29090intro-3898994

Sommario

  1. OpenCV
  2. Immagine Scikit
  3. Scipy
  4. Libreria di immagini Python (Cuscino / PIL)
  5. Matplotlib
  6. SimpleITK
  7. Numpy
  8. Mahotas

OpenCV

OpenCV è una delle librerie open source più famose e utilizzate per compiti di visione artificiale come l'elaborazione delle immagini, rilevamento di oggetti, riconoscimento facciale, segmentazione di immagini, riconoscimento facciale, e molti altri. A parte questo, può essere utilizzato anche per attività di apprendimento automatico. Questo è stato sviluppato da Intel in 2002. È scritto in C ++ ma gli sviluppatori hanno fornito collegamenti Python e Java. È facile da leggere e da usare.

Per creare modelli di machine learning e computer vision, OpenCV ha più di 2500+ algoritmi. Questi algoritmi sono molto utili per eseguire varie attività come il riconoscimento facciale., rilevamento di oggetti e molti altri. Vediamo alcuni esempi in cui possiamo eseguire utilizzando OpenCV:

OpenCV

Scala di grigi

La scala di grigi è un metodo per convertire un'immagine di 3 canali, ad esempio, RGB, HSV ·, eccetera., in un'immagine a canale singolo, vale a dire, nei toni del grigio. L'immagine finale varia tra bianco e nero. L'importanza della scala di grigi include la riduzione delle dimensioni (convertire 3 canali in un'immagine a canale singolo), ridurre la complessità del modello, eccetera.

Sotto il codice, Il frammento mostra la scala di grigi in OpenCV

import cv2 as cv
img = cv.imread('esempio.jpg')
cv.imshow('Originale', img)
cv.waitKey()
#Usa cvtColor, to convert to grayscale
gray_img = cv.cvtColor(img, cv.COLOR_BGR2GRAY)
cv.imshow('Scala di grigi', gray_img)
cv.waitKey(0)
16322cv-grigio-2796451

Ruota immagine

OpenCV aiuta a ruotare l'immagine in qualsiasi intervallo di gradi di 0 un 360 gradi.

Controllare il codice seguente per ruotare l'immagine 180 gradi.

import cv2 as cv
import matplotlib.pyplot as plt
img = cv.imread('esempio.jpg')
h, w = image.shape[:2]
rot_matrix = cv.getRotationMatrix2D((con 2.h/2), -180, 0.5)
rot_image = cv.warpAffine(img, rot_matrix, (w, h))
plt.imshow(cv.cvtColor(rot_image, cv.COLOR_BGR2RGB))
11371cv-ruota-9643195

OpenCV fornisce altre funzionalità oltre a quelle di cui abbiamo discusso finora. A parte questo, aiuta anche nel rilevamento dei volti, segmentazione dell'immagine, estrazione delle feature, rilevamento di oggetti, Ricostruzione 3D e molto altro.

Per maggiori informazioni, consulta la documentazione ufficiale: Collegamento

Immagine Scikit

Scikit-Image è un'altra grande libreria di elaborazione delle immagini open source. Utile in quasi tutte le attività di visione industriale.. È una delle librerie più semplici e semplici. Alcune parti di questa biblioteca sono scritte in Cython (è un superset del linguaggio di programmazione Python progettato per rendere Python più veloce come linguaggio C). Fornisce un gran numero di algoritmi inclusa la segmentazione, manipolazione dello spazio colore, trasformazione geometrica, filtrato, morfologia, rilevamento delle funzioni e molto altro.

Scikit Image utilizza gli array Numpy come oggetti immagine. Vediamo come possiamo eseguire un'operazione di contorno attivo sull'immagine scikit. Il contorno attivo descrive i confini delle forme in un'immagine.

98531scikit20image-7851463

Controllare il codice seguente per la feature di contorno attiva:

import numpy as np
import matplotlib.pyplot as plt
from skimage.color import rgb2gray
from skimage import data
from skimage.filters import gaussian
from skimage.segmentation import active_contour
image = data.astronaut()
# Data for circular boundary
s = np.linspace(0, 2*np.pi, 400)
x = 220 + 100*np.cos(S)
y = 100 + 100*np.sin(S)
init = np.array([X, e]).T
# formation of the active contour
centre = active_contour(Gaussiano(Immagine, 3),dentro, alfa=0,015, beta=10, gamma=0,001)
figura, axis = plt.subplots(1, 2, figsize=(7, 7))
Ascia[0].imshow(Immagine, cmap=plt.cm.grigio)
Ascia[0].set_title("Immagine originale")
Ascia[1].imshow(Immagine, cmap=plt.cm.grigio)
32781active20contour-9653695

Per maggiori informazioni, consulta la documentazione ufficiale: Collegamento

Scienza

SciPy è utilizzato principalmente per calcoli matematici e scientifici, Ma a volte può essere utilizzato anche per attività di base di manipolazione ed elaborazione delle immagini utilizzando il sottomodulo scipy.ndimageAlla fine del giorno, Le immagini sono solo matrici multidimensionali, SciPy fornisce un insieme di funzioni che vengono utilizzate per eseguire operazioni Numpy n-dimensionali. SciPy fornisce alcune operazioni di elaborazione delle immagini di base, come rilevamento dei volti, convoluzione, segmentazione dell'immagine, lettura di immagini, estrazione delle feature, e molti altri. insieme a questo, Esegue anche il filtraggio, disegnare linee di contorno sulle immagini.

18254Scipy-3298010

Controlla il seguente codice per sfocare un'immagine con SciPy:

da scipy import ndimage, misc
from matplotlib import pyplot as plt
f = misc.face()
b_face = ndimage.gaussian_filter(F, sigma=3)
figura, axis = plt.subplots(1, 2, figsize=(16, 8))
86884sfocatura-6513525

Per maggiori informazioni, consulta la documentazione ufficiale: Collegamento

Libreria di immagini Python (PIL / Cuscino)

È una libreria Python open source utilizzata per le attività di elaborazione delle immagini. Fornisce funzionalità speciali che in genere non sono fornite da altre librerie. come filtrare, aperto, manipolare e salvare le immagini. Questa libreria supporta un'ampia gamma di formati di file, cosa lo rende più efficiente. PIL supporta anche funzioni come l'elaborazione delle immagini, visualizzazione di immagini e file di immagine. Vediamo il miglioramento dell'immagine usando PIL / Cuscino.

65141pilo-3897077

Cambia la nitidezza di un'immagine:

69573pil-1369670

Per maggiori informazioni, consulta la documentazione ufficiale: Collegamento

Matplotlib

Matplotlib viene utilizzato principalmente per visualizzazioni 2D come i grafici a dispersione, grafici a barre, istogrammi e molti altri, ma possiamo anche usarlo per l'elaborazione delle immagini. ioÈ efficace per ottenere informazioni da un'immagine.. Non supporta tutti i formati di file.

14713matplotlib-logo-7107377

Controllare l'immagine seguente dopo l'operazione di cambio colore di sfondo:

81371matplolib-3870654

Per maggiori informazioni, consulta la documentazione ufficiale: Collegamento

SimpleITK

Si chiama anche Toolkit di segmentazione e registrazione della conoscenza. È una libreria open source utilizzata per la registrazione e la segmentazione delle immagini. Le biblioteche come OpenCV considerano l'immagine come un array, ma questa libreria considera le immagini come un insieme di punti in una regione nello spazio. Controlla il seguente esempio:

15782itk-3985649

Segmentazione dell'immagine

Per maggiori informazioni, consulta la documentazione ufficiale: Collegamento

Numpy

È una libreria Python open source utilizzata per l'analisi numerica. Contiene un array e array multidimensionali come strutture dati. Ma NumPy può anche usare per attività di elaborazione delle immagini come il ritaglio delle immagini, manipolazione dei pixel e mascheramento del valore dei pixel.

49277numpy-3369553

Controlla la seguente immagine per estrarre i canali verdi / rosso / immagine blu:

13186numpy-1-7199469

Per maggiori informazioni, consulta la documentazione ufficiale: Collegamento

Mahotas

È un'altra libreria Python open source per la visione artificiale e l'elaborazione delle immagini.. È stato progettato per il calcolo biometrico. Fornisce molti algoritmi scritti in C ++ per la velocità con una buona interfaccia Python. Leggi e scrivi immagini negli array NumPy.

Controlla l'immagine seguente per la corrispondenza dei modelli utilizzando Mahotas:

97835mahotas-7169042

Per maggiori informazioni, consulta la documentazione ufficiale: Collegamento

conclusione

Quindi, in questo articolo, abbiamo coperto il 8 Le migliori librerie di elaborazione delle immagini Python per l'apprendimento automatico in 2021. Spero che tu impari qualcosa da questo blog e che risulti migliore per il tuo progetto. Grazie per la lettura e la pazienza. Buona fortuna!

Puoi controllare i miei articoli qui: Articoli

Grazie per aver letto questo articolo sulle librerie Python per l'elaborazione delle immagini e per la tua pazienza.. Lasciami nella sezione commenti. Condividi questo articolo, mi darà la motivazione per scrivere più blog per la comunità di data science.

Identificazione e-mail: gakshay1210@ gmail.com

Seguimi su LinkedIn: LinkedIn

Il supporto mostrato in questo articolo non è di proprietà di DataPeaker e viene utilizzato a discrezione dell'autore.

Iscriviti alla nostra Newsletter

Non ti invieremo posta SPAM. Lo odiamo quanto te.