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")
# 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)
# 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)
# display the result cv2.imshow("Object Detection", image) cv2.waitKey(0)
pip install scikit-image
from skimage import io # load the image image = io.imread("path/to/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)
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] = 0
io.imshow(image) io.show()
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!