[PYTHON] Extraire des arêtes avec OpenCV (Laplacian, Sobel, Canny)

Prétraitement des images utilisées pour l'apprentissage automatique

Pour que l'ordinateur comprenne "ce qui est dans l'image", le processus consistant à dessiner le contour de la cible de détection et à en trouver la caractéristique est souvent effectué.

Dans cet article, je publierai le résultat de la réalisation de la partie de dessin de contour avec Python + OpenCV de trois manières.

L'image originale

Nous avons préparé deux images à traiter.

La nature et les humains. nature.jpg

lady.jpg

code

C'est à ce sujet.

edge.py


import cv2

img = cv2.imread('xxxxxxx.jpg')

#Détection des bords
edge_laplacian = cv2.Laplacian(img, -1)#Laplacien
edge_sobel = cv2.Sobel(img, -1, 0, 1)#Sobel
edge_canny = cv2.Canny(img, 10.0, 200.0)#Prudent

#Exporter le fichier
cv2.imwrite('laplacian.jpg', edge_laplacian)
cv2.imwrite('sobel.jpg', edge_sobel)
cv2.imwrite('canny.jpg', edge_canny)

Résultat de sortie

La nature

Laplacien ↓ laplacian.jpg Sobel ↓ sobel.jpg Canny ↓ canny.jpg

Humain

Laplacien ↓ laplacian.jpg Sobel ↓ sobel.jpg Canny ↓ canny.jpg

Recommended Posts

Extraire des arêtes avec OpenCV (Laplacian, Sobel, Canny)
Extraction de bords avec python + OpenCV (filtre Sobel, filtre laplacien)
Détection des bords (Laplacien, Sobel, Canny)
Effectuer divers filtrages avec OpenCV (Gradient, Highpass, Laplacian, Gaussian)
Détecter le retour du chat avec OpenCV
Faire pivoter les sprites avec OpenCV
Augmentation des données avec openCV
Extraire EXIF avec des gorgées
TopView facile avec OpenCV
Trébucher avec opencv3 de homebrew