Detección de bordes en tiempo real usando OpenCV en Python | Método de detección de borde astuto

El objetivo del programa dado es realizar la detección de bordes de imágenes en tiempo real. En este artículo, el popular algoritmo de detección de bordes astutos se utiliza para detectar una amplia gama de bordes en las imágenes. OpenCV tiene una función incorporada cv2.Canny() que toma nuestra imagen de entrada como primer argumento y su tamaño de apertura (valor mínimo y valor máximo) como los dos últimos argumentos. Este es un ejemplo simple de cómo detectar bordes en Python. Pasos para descargar los requisitos a continuación:

  1. Descargue la versión Python 2.7.x, numpy y la versión OpenCV 2.7.x o 3.1.0. Compruebe si su Windows de 32 o 64 bits es compatible e instálelo en consecuencia.
  2. Asegúrese de que numpy se esté ejecutando en su python y luego intente instalar opencv.

Implementación 

Python

# OpenCV program to perform Edge detection in real time
# import libraries of python OpenCV
# where its functionality resides
import cv2
 
# np is an alias pointing to numpy library
import numpy as np
 
 
# capture frames from a camera
cap = cv2.VideoCapture(0)
 
 
# loop runs if capturing has been initialized
while(1):
 
    # reads frames from a camera
    ret, frame = cap.read()
 
    # converting BGR to HSV
    hsv = cv2.cvtColor(frame, cv2.COLOR_BGR2HSV)
     
    # define range of red color in HSV
    lower_red = np.array([30,150,50])
    upper_red = np.array([255,255,180])
     
    # create a red HSV colour boundary and
    # threshold HSV image
    mask = cv2.inRange(hsv, lower_red, upper_red)
 
    # Bitwise-AND mask and original image
    res = cv2.bitwise_and(frame,frame, mask= mask)
 
    # Display an original image
    cv2.imshow('Original',frame)
 
    # finds edges in the input image and
    # marks them in the output map edges
    edges = cv2.Canny(frame,100,200)
 
    # Display edges in a frame
    cv2.imshow('Edges',edges)
 
    # Wait for Esc key to stop
    k = cv2.waitKey(5) & 0xFF
    if k == 27:
        break
 
 
# Close the window
cap.release()
 
# De-allocate any associated memory usage
cv2.destroyAllWindows()

Salida: Referencias:output

  • http://docs.opencv.org/2.4/doc/tutorials/imgproc/imgtrans/canny_detector/canny_detector.html
  • http://docs.opencv.org/trunk/da/d22/tutorial_py_canny.html
  • https://en.wikipedia.org/wiki/Canny_edge_detector
  • http://www.ijcsmc.com/docs/papers/July2013/V2I7201329.pdf

Este artículo es una contribución de . Si te gusta GeeksforGeeks y te gustaría contribuir, también puedes escribir un artículo usando write.geeksforgeeks.org o enviar tu artículo por correo a review-team@geeksforgeeks.org. Vea su artículo que aparece en la página principal de GeeksforGeeks y ayude a otros Geeks. Escriba comentarios si encuentra algo incorrecto o si desea compartir más información sobre el tema tratado anteriormente.

Publicación traducida automáticamente

Artículo escrito por GeeksforGeeks-1 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

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