La vision par ordinateur est une branche de l'intelligence artificielle dédiée à l'utilisation d'ordinateurs pour simuler et réaliser les fonctions du système visuel humain. Dans le contexte du développement de la science et de la technologie modernes, la vision par ordinateur est largement utilisée dans divers domaines, tels que la robotique, la sécurité, les soins médicaux, la conduite autonome, etc.
OpenCV (Open Source Computer Vision) est une bibliothèque de vision par ordinateur open source multiplateforme initiée et maintenue par Intel Corporation. Il fournit de riches fonctions de traitement d'image et de vision par ordinateur, notamment la détection d'images, l'extraction de caractéristiques, le suivi de cibles, la reconnaissance faciale, etc. La popularité de Python dans les domaines de l’apprentissage automatique et de la science des données a également fait que la version d’OpenCV en Python a attiré beaucoup d’attention. Cet article présentera l'utilisation et l'implémentation spécifique d'OpenCV en Python.
Installer OpenCV
Avant d'utiliser OpenCV, vous devez installer les bibliothèques et dépendances associées. En Python, vous pouvez utiliser la commande pip pour installer.
pip install opencv-python
pip install opencv-contrib-python
Ces deux commandes installent respectivement la version de base et la version étendue d'OpenCV. La version étendue inclut certaines fonctionnalités introuvables dans la version de base.
Lecture et affichage d'images
La première étape de l'utilisation d'OpenCV pour traiter des images consiste à lire l'image dans le programme. OpenCV fournit la fonction cv2.imread() pour lire les images. Les images lues sont stockées sous forme de tableaux NumPy.
import cv2
img = cv2.imread('example.jpg')
Après avoir lu l'image, vous pouvez utiliser cv2.imshow La fonction ( ) affiche l’image. Cette fonction prend deux paramètres, le premier paramètre est le nom de la fenêtre et le deuxième paramètre est l'image à afficher.
cv2.imshow('example', img)
Utilisez la fonction cv2.waitKey() pour attendre que l'utilisateur appuie sur n'importe quelle touche et la fenêtre se fermera automatiquement .
cv2.waitKey(0)
La taille de l'image peut être obtenue en utilisant img.shape, qui renvoie un triplet (hauteur, largeur, profondeur), où la hauteur représente La hauteur de l'image, la largeur représente la largeur de l'image et la profondeur représente le nombre de bits par pixel. La profondeur est de 3 si l'image est une image en couleur et de 1 pour une image en niveaux de gris.
Traitement et fonctionnement d'images
OpenCV fournit une richesse de fonctions de traitement et d'exploitation d'images. Parmi eux, le plus simple est le traitement en niveaux de gris, qui convertit les images couleur en images en niveaux de gris. Cela nécessite l'utilisation de la fonction cv2.cvtColor().
gray = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)
cv2.COLOR_BGR2GRAY est défini dans le traitement en niveaux de gris, où cv2 est le nom du module OpenCV. Le format d'image intégré d'OpenCV est BGR, pas le RVB commun, donc l'ordre de ses paramètres est BGR.
En plus du traitement des niveaux de gris, il existe également certaines fonctions d'opération couramment utilisées, telles que l'ajustement de la taille de l'image, la rotation, la traduction, etc.
resized = cv2.resize(img, (600, 600), interpolation=cv2.INTER_AREA)
flipped = cv2.flip(img, -1)
(lignes, cols) = img.shape [:2 ]
M = cv2.getRotationMatrix2D((cols / 2, lignes / 2), 45, 1)
rotated = cv2.warpAffine(img, M, (cols, lignes))#🎜 🎜## 🎜🎜#Extraction et détection de fonctionnalités d'image
En plus du traitement et des opérations de base des images, OpenCV fournit également diverses fonctions d'extraction et de détection de fonctionnalités. Ces fonctions peuvent détecter et extraire des caractéristiques des images, telles que des coins, des lignes et des contours.
La détection de coins est une technologie largement utilisée dans les domaines de la vision industrielle et de la vision par ordinateur. Elle peut être utilisée pour des applications telles que la correspondance d'images, le suivi de cibles et la reconstruction tridimensionnelle. OpenCV fournit la fonction cv2.goodFeaturesToTrack() pour compléter la détection des coins.
gray = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)
corners = cv2.goodFeaturesToTrack(gris, 100, 0.01, 10)corners = np.int0(coins)
Parmi eux, le paramètre gray est l'image traitée en niveaux de gris, le paramètre 100 représente le nombre de points de coin détectés, le paramètre 0.01 est qualityLevel, utilisé pour représenter le facteur de qualité des coins, et le paramètre 10 est minDistance, indiquant deux distances minimales entre les points d'angle.
De plus, il existe d'autres méthodes de détection de fonctionnalités, telles que SIFT, SURF et ORB.
Conclusion
OpenCV est une puissante bibliothèque de vision par ordinateur largement utilisée dans divers domaines. En Python, OpenCV peut être utilisé pour implémenter facilement des tâches de traitement d'image et de vision par ordinateur. Cet article présente l'utilisation de base et les opérations courantes d'OpenCV en Python. J'espère qu'il sera utile aux lecteurs.
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!