Top Python-Bibliotheken für die Bildverarbeitung in 2021

Inhalt

Einführung

Como indica IDC, la información digital se disparará hasta 175 Zettabytes, y la inmensa parte de esta información se verá reflejada. Los científicos de datos deben (pre) medir estas imágenes antes de convertirlas en modelos de inteligencia artificial y tiefes Lernen. Necesitan hacer el trabajo importante (y a veces sucio) antes de que comience la parte agradable.

Para manejar una gran cantidad de información con eficacia y velocidad sin negociar los resultados, los científicos de datos necesitan utilizar instrumentos de preparación de imágenes para la inteligencia artificial y las tareas de aprendizaje profundo.

In diesem Artikel, profundizaré en las bibliotecas de procesamiento de imágenes más útiles en Python que se utilizan vigorosamente en tareas de inteligencia artificial y aprendizaje profundo. Dann legen wir los!

29090intro-3898994

Inhaltsverzeichnis

  1. OpenCV
  2. Bild von Scikit
  3. Scipy
  4. Python-Bibliothek für Bilder (Pillow / PIL)
  5. Matplotlib
  6. SimpleITK
  7. Numpy
  8. Mahotas

OpenCV

OpenCV ist eine der bekanntesten und am häufigsten verwendeten Open-Source-Bibliotheken für Aufgaben der Computer Vision wie Bildverarbeitung, Objekterkennung, Gesichtserkennung, Segmentierung Anzahl von Bildern, Gesichtserkennung, und viele mehr. Abgesehen davon, kann auch für Aufgaben des maschinellen Lernens verwendet werden. Dies wurde von Intel entwickelt 2002. Es ist in C geschrieben ++ aber die Entwickler haben Links für Python und Java bereitgestellt. Es ist einfach zu lesen und zu verwenden.

Um Modelle für maschinelles Lernen und Computer Vision zu erstellen, OpenCV hat mehr als 2500+ Algorithmen. Diese Algorithmen sind sehr nützlich, um verschiedene Aufgaben wie Gesichtserkennung, Objekterkennung und vieles mehr durchzuführen. Sehen wir uns einige Beispiele an, die wir mit OpenCV durchführen können:

OpenCV

Graustufen

La escala de grises es un método para convertir una imagen de 3 Kanäle, zum Beispiel, RGB, HSV, etc., en una imagen de un solo canal, nämlich, en tonos de gris. La imagen final varía entre blanco y negro completo. La importancia de la escala de grises incluye la reducción de dimensiones (convertir 3 canales en una imagen de un solo canal), reducir la complejidad del modelo, etc.

Debajo del código, el fragmento muestra la escala de grises en OpenCV

import cv2 as cv
img = cv.imread('example.jpg')
cv.imshow('Original', img)
cv.waitKey()
#Use cvtColor, to convert to grayscale
gray_img = cv.cvtColor(img, cv.COLOR_BGR2GRAY)
cv.imshow('Grayscale', gray_img)
cv.waitKey(0)
16322cv-grey-2796451

Rotar imagen

OpenCV ayuda a rotar la imagen en cualquier rango de grados de 0 ein 360 Grad.

Verifique el siguiente código para rotar la imagen 180 Grad.

import cv2 as cv
import matplotlib.pyplot as plt
img = cv.imread('example.jpg')
h, w = image.shape[:2]
rot_matrix = cv.getRotationMatrix2D((w/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-rotate-9643195

OpenCV bietet neben den bisher besprochenen Funktionen noch weitere Leistungen. Abgesehen davon, es hilft auch bei der Gesichtserkennung, Bildsegmentierung, Merkmalsextraktion, Objekterkennung, 3D-Rekonstruktion und vieles mehr.

Für mehr Informationen, konsultieren Sie die offizielle Dokumentation: Verknüpfung

Bild von Scikit

Scikit-Image ist eine weitere großartige Open-Source-Bildverarbeitungsbibliothek. Es ist in fast jeder Aufgabe der maschinellen Vision nützlich.. Es ist eine der einfachsten und unkompliziertesten Bibliotheken. Einige Teile dieser Bibliothek sind in Cython geschrieben (es ist eine Obermenge der Programmiersprache Python, die Python wie die Sprache C schneller macht). Es stellt eine große Anzahl von Algorithmen zur Verfügung, einschließlich Segmentierung, manipulación del espacio de color, transformación geométrica, ausgefiltert, morfología, detección de características y muchos más.

Scikit Image utiliza matrices Numpy como objetos de imagen. Veamos cómo podemos realizar una operación de contorno activa en la imagen de scikit. El contorno activo describe los límites de las formas en una imagen.

98531scikit20image-7851463

Verifique el siguiente código para la operación de contorno activa:

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*Auf keinen Fall(S)
init = np.array([x, Ja]).T
# formation of the active contour
centre = active_contour(gaussian(Bild, 3),drin, alpha=0.015, beta=10, gamma=0.001)
Abbildung, Achse = plt.subplots(1, 2, Feigengröße=(7, 7))
ax[0].imshow(Bild, cmap=plt.cm.gray)
ax[0].set_title("Original Bild")
ax[1].imshow(Bild, cmap=plt.cm.gray)
32781active20contour-9653695

Für mehr Informationen, konsultieren Sie die offizielle Dokumentation: Verknüpfung

Wissenschaft

SciPy wird hauptsächlich für mathematische und wissenschaftliche Berechnungen verwendet, aber manchmal kann es auch für grundlegende Aufgaben der Bildbearbeitung und -verarbeitung mit dem Untermodul scipy.ndimageAm Ende des Tages, Bilder sind nur mehrdimensionale Arrays, SciPy stellt eine Reihe von Funktionen zur Verfügung, die verwendet werden, um Operationen auf n-dimensionalen Numpy-Arrays durchzuführen. SciPy bietet einige grundlegende Bildverarbeitungsoperationen, wie Gesichtserkennung, Faltung, Bildsegmentierung, Bildlesung, Merkmalsextraktion, und viele mehr. zusammen mit, es führt auch Filterungen durch, zeichnet Konturlinien auf Bildern.

18254scipy-3298010

Überprüfen Sie den folgenden Code, um ein Bild mit SciPy unscharf zu machen:

from scipy import ndimage, misc
from matplotlib import pyplot as plt
f = misc.face()
b_face = ndimage.gaussian_filter(F, sigma=3)
Abbildung, Achse = plt.subplots(1, 2, Feigengröße=(16, 8))
86884blur-6513525

Für mehr Informationen, konsultieren Sie die offizielle Dokumentation: Verknüpfung

Python-Bibliothek für Bilder (PIL / Pillow)

Es una biblioteca de Python de código abierto que se utiliza para tareas de procesamiento de imágenes. Proporciona funcionalidades especiales que generalmente no son proporcionadas por otras bibliotecas. como filtrar, abrir, manipular y guardar imágenes. Esta biblioteca admite una amplia gama de formatos de archivo, lo que la hace más eficiente. PIL también admite funciones como procesamiento de imágenes, visualización de imágenes y archivos de imágenes. Veamos Mejora de la imagen usando PIL / Pillow.

65141pilo-3897077

Cambiar la nitidez de una imagen:

69573pil-1369670

Für mehr Informationen, konsultieren Sie die offizielle Dokumentation: Verknüpfung

Matplotlib

Matplotlib se usa principalmente para visualizaciones 2D como diagramas de dispersión, Balkendiagramme, Histogramme und viele mehr, aber wir können es auch für die Bildverarbeitung verwenden. ichEs ist effektiv, um Informationen aus einem Bild zu erhalten.. Es wird nicht von allen Dateiformaten unterstützt.

14713matplotlib-logo-7107377

Überprüfen Sie das folgende Bild nach dem Hintergrundfarbwechsel:

81371matplolib-3870654

Für mehr Informationen, konsultieren Sie die offizielle Dokumentation: Verknüpfung

SimpleITK

Es wird auch genannt Toolkit für Registrierung und Segmentierung von Wissen. Es ist eine Open-Source-Bibliothek, die für die Bildregistrierung und Bildsegmentierung verwendet wird. Bibliotheken wie OpenCV betrachten das Bild als Matrix, aber diese Bibliothek betrachtet Bilder als Menge von Punkten in einem Raumgebiet. Überprüfen Sie das folgende Beispiel:

15782itk-3985649

Bildsegmentierung

Für mehr Informationen, konsultieren Sie die offizielle Dokumentation: Verknüpfung

Numpy

Es una biblioteca de Python de código abierto que se utiliza para análisis numérico. Contiene una matriz y arreglos multidimensionales como estructuras de datos. Pero NumPy también puede usar para tareas de procesamiento de imágenes como recorte de imágenes, manipulación de píxeles y enmascaramiento de valores de píxeles.

49277numpy-3369553

Verifique la siguiente imagen para extraer los canales verde / rot / azul de la imagen:

13186numpy-1-7199469

Für mehr Informationen, konsultieren Sie die offizielle Dokumentation: Verknüpfung

Mahotas

Es otra biblioteca de Python de código abierto para visión por computadora y procesamiento de imágenes. Fue diseñado para informática biométrica. Proporciona muchos algoritmos que están escritos en C ++ para mayor velocidad con una buena interfaz de Python. Lee y escribe imágenes en matrices NumPy.

Verifique la siguiente imagen para la coincidencia de plantillas usando Mahotas:

97835mahotas-7169042

Für mehr Informationen, konsultieren Sie die offizielle Dokumentation: Verknüpfung

Fazit

Dann, In diesem Artikel, wir haben die abgedeckt 8 principales bibliotecas de procesamiento de imágenes en Python para el aprendizaje automático en 2021. Ich hoffe, Sie lernen etwas aus diesem Blog und es wird besser für Ihr Projekt. Danke fürs Lesen und deine Geduld. Viel Glück!

Sie können meine Artikel hier einsehen: Artikel

Vielen Dank für das Lesen dieses Artikels über Python-Bibliotheken zur Bildverarbeitung und für Ihre Geduld.. Lass mich im Kommentarbereich. Teile diesen Artikel, es wird mir die Motivation geben, mehr Blogs für die Data Science Community zu schreiben.

E-Mail-Identifikation: gakshay1210@ gmail.com

Folgen Sie mir auf LinkedIn: LinkedIn

Die in diesem Artikel gezeigten Medien sind nicht Eigentum von DataPeaker und werden nach Ermessen des Autors verwendet.

Abonniere unseren Newsletter

Wir senden Ihnen keine SPAM-Mail. Wir hassen es genauso wie du.

Datenlautsprecher