Maison >développement back-end >Tutoriel Python >Comment utiliser Python pour effectuer le suivi des bords sur les images
Comment utiliser Python pour effectuer un suivi des contours sur des images
Introduction :
Dans le domaine de la vision par ordinateur et du traitement d'image, la détection des contours de l'image est une technologie fondamentale et importante. La détection des contours peut être utilisée dans de nombreuses applications telles que la segmentation d'images, la reconnaissance de cibles et la reconstruction tridimensionnelle. Cet article explique comment utiliser la bibliothèque OpenCV en Python pour implémenter le suivi des bords d'image.
pip install opencv-python
import cv2 # 读取图片 image = cv2.imread('image.jpg') # 将图像转换为灰度图 gray = cv2.cvtColor(image, cv2.COLOR_BGR2GRAY) # 对灰度图进行高斯模糊 blur = cv2.GaussianBlur(gray, (5, 5), 0) # 使用Canny算法进行边缘检测 edges = cv2.Canny(blur, 50, 150) # 显示原始图像和边缘图像 cv2.imshow('Original Image', image) cv2.imshow('Edge Image', edges) cv2.waitKey(0) cv2.destroyAllWindows()
cv2.imread()
pour lire l'image sous le chemin spécifié et renvoyer un tableau multidimensionnel (matrice de pixels) représentant l'image. Ensuite, nous convertissons l’image couleur en image en niveaux de gris, afin de simplifier le processus de calcul de l’algorithme de détection des contours. cv2.imread()
函数读取指定路径下的图片,返回一个表示图像的多维数组(像素矩阵)。然后,我们将彩色图像转换为灰度图像,这样做是为了简化边缘检测算法的计算过程。cv2.GaussianBlur()
函数进行高斯模糊,其中第二个参数是模糊核的大小,越大表示模糊程度越高。cv2.Canny()
函数来实现边缘检测。这个函数的参数包括低阈值和高阈值,图像中最弱的边缘会被抑制,强度介于低阈值和高阈值之间的边缘会被保留。cv2.imshow()
函数来显示原始图像和边缘图像,并通过cv2.waitKey(0)
Ensuite, nous effectuons un traitement de flou gaussien sur l'image en niveaux de gris, ce qui peut réduire le bruit dans l'image et rendre les bords plus clairs. Nous utilisons la fonction cv2.GaussianBlur()
pour effectuer un flou gaussien. Le deuxième paramètre est la taille du noyau de flou. Plus la valeur est grande, plus le degré de flou est élevé. cv2.Canny()
pour implémenter la détection des contours. Les paramètres de cette fonction incluent un seuil bas et un seuil haut. Les bords les plus faibles de l'image seront supprimés et les bords dont l'intensité se situe entre les seuils bas et haut seront conservés. cv2.imshow()
pour afficher l'image d'origine et l'image de bord, et fermons la fenêtre d'image en cv2.waitKey(0)
en attendant saisie au clavier. 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!