Manejar eventos de mouse en Python – OpenCV

OpenCV es una de las bibliotecas de visión artificial más populares. Si desea comenzar su viaje en el campo de la visión por computadora, es de suma importancia una comprensión profunda de los conceptos de OpenCV.

Nota: Para obtener más información, consulte Introducción a OpenCV

Manejo de eventos de ratón

OpenCV a veces ayuda a controlar y administrar diferentes tipos de eventos del mouse y nos brinda la flexibilidad para administrarlos. Puede haber diferentes tipos de eventos del mouse, como clic con el botón izquierdo, clic con el botón derecho, doble clic, etc. Para administrar estos eventos, necesitamos diseñar funciones de devolución de llamada para cada tipo de evento de clic del mouse mientras OpenCV abre la ventana o el marco. La función de devolución de llamada será útil para implementar qué tipo de funcionalidad desea con un evento de clic de mouse en particular.

A continuación se muestra el código para mostrar cómo podemos realizar operaciones con eventos de clic derecho y clic izquierdo.

Código:

import cv2
  
  
# read image
img = cv2.imread('image.jpg')
  
# show image
cv2.imshow('image', img)
   
#define the events for the
# mouse_click.
def mouse_click(event, x, y, 
                flags, param):
      
    # to check if left mouse 
    # button was clicked
    if event == cv2.EVENT_LBUTTONDOWN:
          
        # font for left click event
        font = cv2.FONT_HERSHEY_TRIPLEX
        LB = 'Left Button'
          
        # display that left button 
        # was clicked.
        cv2.putText(img, LB, (x, y), 
                    font, 1, 
                    (255, 255, 0), 
                    2) 
        cv2.imshow('image', img)
          
          
    # to check if right mouse 
    # button was clicked
    if event == cv2.EVENT_RBUTTONDOWN:
           
        # font for right click event
        font = cv2.FONT_HERSHEY_SCRIPT_SIMPLEX
        RB = 'Right Button'
          
        # display that right button 
        # was clicked.
        cv2.putText(img, RB, (x, y),
                    font, 1, 
                    (0, 255, 255),
                    2)
        cv2.imshow('image', img)
  
cv2.setMouseCallback('image', mouse_click)
   
cv2.waitKey(0)
  
# close all the opened windows.
cv2.destroyAllWindows()

Producción:

Publicación traducida automáticamente

Artículo escrito por KaranGupta5 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 *