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 profondoApprendimento profondo, Una sottodisciplina dell'intelligenza artificiale, si affida a reti neurali artificiali per analizzare ed elaborare grandi volumi di dati. Questa tecnica consente alle macchine di apprendere modelli ed eseguire compiti complessi, come il riconoscimento vocale e la visione artificiale. La sua capacità di migliorare continuamente man mano che vengono forniti più dati lo rende uno strumento chiave in vari settori, dalla salute.... 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!
Sommario
- OpenCV
- Immagine Scikit
- Scipy
- Libreria di immagini Python (Cuscino / PIL)
- Matplotlib
- SimpleITK
- Numpy
- 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, segmentazioneLa segmentazione è una tecnica di marketing chiave che comporta la divisione di un ampio mercato in gruppi più piccoli e omogenei. Questa pratica consente alle aziende di adattare le proprie strategie e i propri messaggi alle caratteristiche specifiche di ciascun segmento, migliorando così l'efficacia delle tue campagne. Il targeting può essere basato su criteri demografici, psicografico, geografico o comportamentale, facilitando una comunicazione più pertinente e personalizzata con il pubblico di destinazione.... 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:
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)
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))
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.
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)
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.
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))
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.
Cambia la nitidezza di un'immagine:
Per maggiori informazioni, consulta la documentazione ufficiale: Collegamento
Matplotlib
Matplotlib viene utilizzato principalmente per visualizzazioni 2D come i grafici a dispersione, grafici a barre, istogrammiGli istogrammi sono rappresentazioni grafiche che mostrano la distribuzione di un set di dati. Sono costruiti dividendo l'intervallo di valori in intervalli, oh "Bidoni", e il conteggio della quantità di dati che cadono in ogni intervallo. Questa visualizzazione consente di identificare i modelli, tendenze e variabilità dei dati in modo efficace, facilitare l'analisi statistica e il processo decisionale informato in varie discipline.... 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.
Controllare l'immagine seguente dopo l'operazione di cambio colore di sfondo:
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:
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.
Controlla la seguente immagine per estrarre i canali verdi / rosso / immagine blu:
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:
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.
Imparentato
Articoli correlati:
- Il 8 Le migliori librerie Python per l'elaborazione del linguaggio naturale (PNL) Su 2021
- Applicazioni di elaborazione digitale delle immagini | Elaborazione delle immagini in Python
- Elaborazione delle immagini con la CNN | Guida per principianti all'elaborazione delle immagini
- Elaborazione delle immagini OpenCV | Elaborazione delle immagini con OpenCV