Maison > Article > développement back-end > Comment utiliser la technologie de reconnaissance d'images en Python ?
Dans le domaine de la science et de la technologie contemporaines, la technologie de reconnaissance d'images devient de plus en plus importante. La technologie de reconnaissance d'images nous aide à identifier et à classer les entités extraites d'images numériques, qui sont ensuite utilisées dans l'analyse et la prédiction des données. Python est un langage de programmation très populaire qui convient également parfaitement à la technologie de reconnaissance d'images. Dans cet article, nous apprendrons comment utiliser la technologie de reconnaissance d'image en Python et ce que nous pouvons en faire.
1. Bibliothèque de traitement d'image
Avant de commencer à utiliser la technologie de reconnaissance d'image, il est préférable de comprendre quelques connaissances de base sur les bibliothèques de traitement d'image. Les bibliothèques de traitement d'images les plus couramment utilisées en Python incluent OpenCV, Pillow et Scikit-image. Dans cet article, nous nous concentrerons sur l'utilisation de deux bibliothèques, OpenCV et Scikit-image.
2. OpenCV
OpenCV est une bibliothèque de vision par ordinateur open source qui peut être utilisée sur différentes plateformes. OpenCV fournit un grand nombre d'algorithmes et de fonctions qui peuvent être utilisés pour mettre en œuvre le traitement, l'analyse et la vision par ordinateur d'images numériques. Voici les étapes de base pour utiliser OpenCV pour la reconnaissance d'images :
1 Installer OpenCV
Avant de commencer à utiliser OpenCV, vous devez l'installer sur votre ordinateur. La bibliothèque OpenCV peut être installée via les commandes pip et conda. Sous Windows, vous pouvez l'installer avec la commande suivante :
pip install opencv-python
Alternativement, vous pouvez utiliser conda pour installer OpenCV :
conda install -c conda-forge opencv
2 Chargez l'image
#. 🎜🎜#Continuer Ensuite, les images à analyser doivent être chargées. En Python, vous pouvez charger une seule image ou plusieurs images à l'aide de la fonction OpenCV cv2.imread().import cv2 # load an image image = cv2.imread("path/to/image")3. Prétraitez l'image Avant d'utiliser OpenCV, l'image doit être prétraitée. Les traitements suivants peuvent être effectués sur l'image :
# convert the image to grayscale gray = cv2.cvtColor(image, cv2.COLOR_BGR2GRAY) # apply a Gaussian blur to remove noise blurred = cv2.GaussianBlur(gray, (5, 5), 0) # apply edge detection to extract edges edges = cv2.Canny(blurred, 50, 200)4. Identifier les objets Une fois l'image prétraitée, les algorithmes et fonctions d'OpenCV peuvent être utilisés pour identifier les objets. Les objets peuvent être marqués sous forme de rectangles ou de cercles, etc.
# perform an object detection (contours, _) = cv2.findContours(edges.copy(), cv2.RETR_EXTERNAL, cv2.CHAIN_APPROX_SIMPLE) for c in contours: # compute the bounding box of the object (x, y, w, h) = cv2.boundingRect(c) # draw the bounding box around the object cv2.rectangle(image, (x, y), (x + w, y + h), (0, 255, 0), 2)5. Afficher les résultats Utilisez OpenCV pour afficher l'image traitée.
# display the result cv2.imshow("Object Detection", image) cv2.waitKey(0)3. Scikit-imageScikit-image est une bibliothèque de traitement d'image basée sur le langage Python. Elle fournit également de nombreux algorithmes et fonctions de traitement d'image. Voici les étapes de base pour utiliser Scikit-image pour la reconnaissance d'images : 1 Installer Scikit-image Vous pouvez utiliser la commande suivante pour installer la bibliothèque Scikit-image. :
pip install scikit-image2. Chargez l'imageDe même, avant d'utiliser Scikit-image, vous devez charger l'image à analyser.
from skimage import io # load the image image = io.imread("path/to/image")3. Prétraitez l'image Avant d'utiliser Scikit-image, vous devez également prétraiter l'image. Les traitements suivants peuvent être effectués sur l'image :
from skimage.filters import threshold_local from skimage.color import rgb2gray # convert the image to grayscale gray = rgb2gray(image) # apply a threshold to the image thresh = threshold_local(gray, 51, offset=10)4. Identifier les objets Utilisez les algorithmes et les fonctions de Scikit-image pour identifier les objets et marquer les objets sous forme de rectangles ou de cercles, etc.
from skimage import measure from skimage.color import label2rgb from skimage.draw import rectangle # find contours in the image contours = measure.find_contours(thresh, 0.8) # draw a rectangle around each object for n, contour in enumerate(contours): row_min, col_min = contour.min(axis=0) row_max, col_max = contour.max(axis=0) rect = rectangle((row_min, col_min), (row_max, col_max), shape=image.shape) image[rect] = 05. Afficher les résultats Utilisez Scikit-image pour afficher l'image traitée.
io.imshow(image) io.show()ConclusionGrâce à cet article, nous avons appris à utiliser OpenCV et Scikit-image en Python pour la reconnaissance d'images. Ces deux bibliothèques sont l'une des bibliothèques de traitement d'images les plus populaires en Python et peuvent nous aider dans les travaux de traitement, d'analyse et de vision par ordinateur d'images. Grâce à la technologie de reconnaissance d'images, les entités invisibles peuvent être facilement extraites des images numériques et utilisées dans l'analyse et la prédiction des données. Elles peuvent par exemple être appliquées à la médecine, à la sécurité et à la finance. Bien que cet article fournisse quelques méthodes d'utilisation de base, la technologie de reconnaissance d'images est un domaine très complexe et varié, et de nombreux autres algorithmes et techniques peuvent être utilisés. Par conséquent, apprendre et explorer ce domaine est un processus très intéressant et utile.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!