Extraction de bords avec python + OpenCV (filtre Sobel, filtre laplacien)

Comment trouver un filtre différentiel, principes de base http://qiita.com/shim0mura/items/5d3cbef873f2dd81d82c

OpenCV a la capacité d'appliquer des filtres Sobel et laplacien.

Filtre Sobel

cv2.Sobel(src, ddepth, dx, dy[, dst[, ksize[, scale[, delta[, borderType]]]]]) → dst http://docs.opencv.org/3.0-last-rst/modules/imgproc/doc/filtering.html?highlight=laplacian#sobel

--src: Image d'entrée --dst: image de sortie --ddepth: profondeur de couleur de sortie --dx: ordre de différenciation dans la direction x --dy: ordre de différenciation dans la direction y --ksize: spécifiez la taille du noyau 1, 3, 5, 7

Il dit que lorsque la taille du noyau est 1, un noyau 1x3 ou un noyau 3x1 est utilisé, mais lorsque k = 5,7, cela ressemble à ceci. http://stackoverflow.com/questions/9567882/sobel-filter-kernel-of-large-size

import cv2
from matplotlib import pyplot as plt

img = cv2.imread('Lenna.jpg', 0)

sobelx = cv2.Sobel(img, cv2.CV_32F, 1, 0, ksize=3)
sobely = cv2.Sobel(img, cv2.CV_32F, 0, 1, ksize=3)
sobelx5 = cv2.Sobel(img, cv2.CV_32F, 1, 0, ksize=5)
sobely5 = cv2.Sobel(img, cv2.CV_32F, 0, 1, ksize=5)

plt.subplot(2,2,1),plt.imshow(sobelx,cmap = 'gray')
plt.title('Sobel X k=3'), plt.xticks([]), plt.yticks([])
plt.subplot(2,2,2),plt.imshow(sobely,cmap = 'gray')
plt.title('Sobel Y k=3'), plt.xticks([]), plt.yticks([])
plt.subplot(2,2,3),plt.imshow(sobelx5,cmap = 'gray')
plt.title('Sobel X k=5'), plt.xticks([]), plt.yticks([])
plt.subplot(2,2,4),plt.imshow(sobely5,cmap = 'gray')
plt.title('Sobel Y k=5'), plt.xticks([]), plt.yticks([])
plt.show()

résultat: スクリーンショット 2016-11-29 15.59.30.png

La ligne est plus sombre et le flou est plus fort lorsque k = 5 que lorsque k = 3.

Filtre laplacien

cv2.Laplacian(src, ddepth[, dst[, ksize[, scale[, delta[, borderType]]]]]) → dst http://docs.opencv.org/3.0-last-rst/modules/imgproc/doc/filtering.html?highlight=laplacian#laplacian

--src: Image d'entrée --dst: image de sortie --ddepth: profondeur de couleur de sortie --ksize: taille du noyau

Puisqu'il s'agit d'un Laplacien, il n'a pas besoin de spécifier la direction contrairement à celle avec le différentiel du premier ordre.

import cv2
from matplotlib import pyplot as plt

lap = cv2.Laplacian(img, cv2.CV_32F)
lap5 = cv2.Laplacian(img, cv2.CV_32F,ksize=3)

plt.subplot(1,2,1),plt.imshow(lap,cmap = 'gray')
plt.title('Laplacian'), plt.xticks([]), plt.yticks([])
plt.subplot(1,2,2),plt.imshow(lap5,cmap = 'gray')
plt.title('Laplacian k=3'), plt.xticks([]), plt.yticks([])

plt.show()

résultat: スクリーンショット 2016-11-29 16.25.00.png

référence:

Traitement d'image numérique (https://www.cgarts.or.jp/book/img_engineer/) http://labs.eecs.tottori-u.ac.jp/sd/Member/oyamada/OpenCV/html/py_tutorials/py_imgproc/py_gradients/py_gradients.html#gradients http://qiita.com/supersaiakujin/items/494cc16836738b5394c8

Recommended Posts

Extraction de bords avec python + OpenCV (filtre Sobel, filtre laplacien)
inspecter l'expérience
expérience svm 1
Extraction de bords avec python + OpenCV (filtre Sobel, filtre laplacien)
[Python] Utilisation d'OpenCV avec Python (détection des bords)
Extraire des arêtes avec OpenCV (Laplacian, Sobel, Canny)
Binarisation avec OpenCV / Python
"Traitement Apple" avec OpenCV3 + Python3
Essayez la détection des bords avec OpenCV
Édition d'image avec python OpenCV
Capture de caméra avec Python + OpenCV
Détection des bords (Laplacien, Sobel, Canny)
[Python] Utilisation d'OpenCV avec Python (basique)
[Python] Filtrer les feuilles de calcul avec gspread
Détection des bords en temps réel avec OpenCV
Détection de visage avec Python + OpenCV
Utiliser OpenCV avec Python @Mac
Briller la vie avec Python et OpenCV
[Python] Utilisation d'OpenCV avec Python (filtrage d'image)
Réseau neuronal avec OpenCV 3 et Python 3
[Python] Utilisation d'OpenCV avec Python (transformation d'image)
Extraction de texte avec AWS Textract (Python3.6)
Programmation facile Python + OpenCV avec Canopy
Essayez la reconnaissance faciale avec python + OpenCV
Découpez le visage avec Python + OpenCV
Reconnaissance faciale avec caméra avec opencv3 + python2.7
Charger une image gif avec Python + OpenCV
Trouver la similitude d'image avec Python + OpenCV
Utiliser OpenCV avec Python 3 dans Window
Dessinez une illustration avec Python + OpenCV
Suivre les balles de baseball avec Python + OpenCV
Segmentation basée sur un graphique avec Python + OpenCV
Dessinez une flèche (vecteur) avec opencv / python
Etude de base d'OpenCV avec Python
L'extraction de couleur avec Python + OpenCV a résolu le mystère du fond vert
Dessinez une illusion d'aquarelle avec détection des contours en Python3 et openCV3
Extraction d'objets dans l'image par correspondance de modèles en utilisant OpenCV avec Python
Détection de visage avec Python + OpenCV (rotation invariante)
Extraction de mots-clés facile avec TermExtract pour Python
Enregistrer la vidéo image par image avec Python OpenCV
Capturer des images avec Pupil, python et OpenCV
J'ai essayé le rendu non réaliste avec Python + opencv
Traitement d'image avec Python et OpenCV [Tone Curve]
Traitement d'image par Python 100 knock # 12 motion filter
Acquisition d'images depuis une caméra avec Python + OpenCV
[python, openCV] base64 Reconnaissance faciale dans les images
Créez diverses vidéos Photoshop avec Python + OpenCV ③ Créez diverses vidéos Photoshop
[Python] Lire des images avec OpenCV (pour les débutants)
Jusqu'à ce que vous puissiez utiliser opencv avec python
Traitement d'image léger avec Python x OpenCV
Lissage des bords enregistrés avec python + OpenCV (BilateralFilter, NLMeansFilter)
Traitement d'image par Python 100 knock # 9 Filtre Gaussien
Hello World et détection de visage avec OpenCV 4.3 + Python
J'ai essayé de "lisser" l'image avec Python + OpenCV
Extraction de texte avec l'API GCP Cloud Vision (Python3.6)
Comparaison des performances du détecteur de visage avec Python + OpenCV
J'ai essayé de "différencier" l'image avec Python + OpenCV
Obtenez une authentification de base avec CloudFront Lambda @ Edge avec Python 3.8
Comment recadrer une image avec Python + OpenCV
Installez OpenCV 4.0 et Python 3.7 sur Windows 10 avec Anaconda
Suivi des objets verts avec python + numpy (filtre à particules)
Rendre OpenCV3 disponible à partir de python3 installé avec pyenv
Traitement d'image à partir de zéro avec python (4) Extraction de contour