Maison  >  Article  >  développement back-end  >  Comment façonner des images à l'aide de Python

Comment façonner des images à l'aide de Python

WBOY
WBOYoriginal
2023-08-25 14:53:211184parcourir

Comment façonner des images à laide de Python

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()

Étape 4 : Convertir l'image en image en niveaux de gris

Avant de procéder à l'étiquetage des formes, nous devons convertir l'image en image en niveaux de gris. Ceci peut être réalisé en utilisant la fonction 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()

Étape 5 : Effectuer une segmentation de seuil

La segmentation par seuil de l'image en niveaux de gris peut obtenir une image binaire, ce qui facilite les opérations ultérieures d'étiquetage de forme. Ceci peut être réalisé en utilisant la fonction 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!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn