Comment utiliser Python pour étiqueter des images avec des formes
Introduction :
Dans les domaines du traitement d'images et de la vision par ordinateur, l'étiquetage et l'identification des objets dans les images sont une tâche importante. La forme de l'objet marqué peut être utilisée pour des applications telles que la détection d'objets, la détection de contours et l'extraction de contours. Cet article explique comment utiliser Python et la bibliothèque OpenCV pour étiqueter des images avec des formes.
Étape 1 : Installez les bibliothèques requises
Avant de commencer, nous devons installer les bibliothèques Python et OpenCV. La bibliothèque OpenCV peut être installée via la commande pip. La commande spécifique est la suivante :
pip install opencv-python
Étape 2 : Importer les bibliothèques requises
Dans le code, nous devons importer la bibliothèque OpenCV et quelques autres bibliothèques auxiliaires. Le code spécifique est le suivant :
import cv2 import numpy as np
Étape 3 : Lire le fichier image
Utilisez la fonction imread()
de la bibliothèque OpenCV pour lire le fichier image. Le code spécifique est le suivant : imread()
函数可以读取图像文件。具体代码如下:
img = cv2.imread('image.jpg')
步骤四:将图像转换为灰度图像
在进行形状标记之前,我们需要将图像转换为灰度图像。使用OpenCV库的cvtColor()
函数可以实现。具体代码如下:
gray = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)
步骤五:进行阈值分割
将灰度图像进行阈值分割可以得到二值图像,方便后续形状标记的操作。使用OpenCV库的threshold()
函数可以实现。具体代码如下:
_, thresh = cv2.threshold(gray, 127, 255, cv2.THRESH_BINARY)
步骤六:查找轮廓
使用OpenCV库的findContours()
函数可以查找图像中的轮廓。具体代码如下:
contours, _ = cv2.findContours(thresh, cv2.RETR_EXTERNAL, cv2.CHAIN_APPROX_SIMPLE)
步骤七:绘制轮廓
使用OpenCV库的drawContours()
函数可以将轮廓绘制在图像上。具体代码如下:
cv2.drawContours(img, contours, -1, (0, 255, 0), 3)
步骤八:显示结果
使用OpenCV库的imshow()
cv2.imshow('Contours', img) cv2.waitKey(0) cv2.destroyAllWindows()
cvtColor()
de la bibliothèque OpenCV. Le code spécifique est le suivant : import cv2 import numpy as np # 读取图像文件 img = cv2.imread('image.jpg') # 将图像转换为灰度图像 gray = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY) # 进行阈值分割 _, thresh = cv2.threshold(gray, 127, 255, cv2.THRESH_BINARY) # 查找轮廓 contours, _ = cv2.findContours(thresh, cv2.RETR_EXTERNAL, cv2.CHAIN_APPROX_SIMPLE) # 绘制轮廓 cv2.drawContours(img, contours, -1, (0, 255, 0), 3) # 显示结果 cv2.imshow('Contours', img) cv2.waitKey(0) cv2.destroyAllWindows()
threshold()
de la bibliothèque OpenCV. Le code spécifique est le suivant : 🎜rrreee🎜Étape 6 : Rechercher des contours🎜🎜Utilisez la fonction findContours()
de la bibliothèque OpenCV pour rechercher des contours dans l'image. Le code spécifique est le suivant : 🎜rrreee🎜Étape 7 : Dessiner le contour🎜🎜Utilisez la fonction drawContours()
de la bibliothèque OpenCV pour dessiner le contour sur l'image. Le code spécifique est le suivant : 🎜rrreee🎜Étape 8 : Afficher les résultats🎜🎜Utilisez la fonction imshow()
de la bibliothèque OpenCV pour afficher l'image traitée. Le code spécifique est le suivant : 🎜rrreee🎜Exemple de code complet : 🎜rrreee🎜Conclusion : 🎜🎜Cet article présente comment utiliser Python et la bibliothèque OpenCV pour effectuer un étiquetage de forme sur des images. En implémentant l'exemple de code, les contours des objets dans l'image peuvent être extraits et marqués pour faciliter les applications ultérieures de traitement d'image et de vision par ordinateur. Les lecteurs peuvent effectuer les ajustements et extensions correspondants en fonction de leurs propres besoins et conditions réelles. J'espère que cet article 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!