Detección de los bordes de la imagen usando OpenCV (CV2) en Python

Python | Detección de borde : Aquí, vamos a ver cómo podemos detectar el borde de una imagen usando OpenCV (CV2) en Python?

módulos utilizados:

class esto, vamos a utilizar el módulo de OpenCV-pitón que nos ofrece varias funciones para el trabajo en las imágenes.

Descargar OpenCV-pitón

General Way:
pip install opencv-python
Pycharm Users:
Go to the project Interpreter and install this module from there.

OpenCV-pitón Módulo:

OpenCV-pitón es una biblioteca de Python que resolverá los problemas de visión de computadora y nos proporciona varias funciones para editar las imágenes.

Nota: Detección El borde es posible sólo en escala de grises.

Lo que vamos a hacer en este guión?

Para detectar los bordes de las imágenes vamos a utilizar OpenCV-pitón diversas funciones y proporcionar umbrales.

En este artículo vamos a detectar el borde de la imagen con la ayuda de varias funciones y la exactitud de los aumentos de borde a medida que avanzamos hacia abajo,

  • Sobel Función : Esta función creará la horizontal y bordes verticales y después de eso, vamos a utilizar el operador binario OR combinarlos
  • Función Laplaciano : Esta es la función más simple en la que sólo hay que poner la variable de escala de grises en él, y obtendremos detectado el borde imagen.
  • Función Canny : Este es el más potente de detección de bordes class función y más precisa.

Veamos el código:

1) Utilizar la función de Sobel

# importing the module
import cv2
# read the image and store the data in a variable
image=cv2.imread("/home/abhinav/PycharmProjects/untitled1/b.jpg")
# make it grayscale
Gray=cv2.cvtColor(image,cv2.COLOR_BGR2GRAY)
# Make it with the help of sobel
# make the sobel_horizontal
# For horizontal x axis=1 and yaxis=0
# for vertical x axis=0 and y axis=1
Horizontal=cv2.Sobel(Gray,0,1,0,cv2.CV_64F)
# the thresholds are like
# (variable,0,<x axis>,<y axis>,cv2.CV_64F)
Vertical=cv2.Sobel(Gray,0,0,1,cv2.CV_64F)
# DO the Bitwise operation
Bitwise_Or=cv2.bitwise_or(Horizontal,Vertical)
# Show the Edged Image
cv2.imshow("Sobel Image",Bitwise_Or)
cv2.imshow("Original Image",Gray)
cv2.waitKey(0)
cv2.destroyAllWindows()

Salida:

Edge Detection of Image using OpenCV (CV2) in Python - 4

2) Función Laplaciano

# importing the module
import cv2
# read the image and store the data in a variable
image=cv2.imread("/home/abhinav/PycharmProjects/untitled1/b.jpg")
# make it grayscale
Gray=cv2.cvtColor(image,cv2.COLOR_BGR2GRAY)
# Make Laplacian Function
Lappy=cv2.Laplacian(Gray,cv2.CV_64F)
cv2.imshow("Laplacian",Lappy)
cv2.imshow("Original",Gray)
cv2.waitKey(0)
cv2.destroyAllWindows()

Salida:

Edge Detection of Image using OpenCV (CV2) in Python - 5

3) Uso de la función Canny

# importing the module
import cv2
# read the image and store the data in a variable
image=cv2.imread("/home/abhinav/PycharmProjects/untitled1/b.jpg")
# make it grayscale
Gray=cv2.cvtColor(image,cv2.COLOR_BGR2GRAY)
# Make canny Function
canny=cv2.Canny(Gray,40,140)
# the threshold is varies bw 0 and 255
cv2.imshow("Canny",canny)
cv2.imshow("Original",Gray)
cv2.waitKey(0)
cv2.destroyAllWindows()

de salida:

Edge Detection of Image using OpenCV (CV2) in Python - 6


Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *