Detección de objetos de color similar en Python usando OpenCV

OpenCV  es una biblioteca de funciones de programación destinada principalmente a la visión artificial en tiempo real.

el color

OpenCV
Numpy

,el colorenHSV,RGBinteresesoperación

Código:

Python3

# import required library
import cv2
import numpy as np
import matplotlib.pyplot as plt
  
# create a video object
# for capture the frames.
# for Webcamera we pass 0 
# as an argument 
cap = cv2.VideoCapture(0)
  
# define a empty function 
def nothing(x):
    pass
  
# set windown name
cv2.namedWindow('Tracking')
  
# Creates a trackbar and attaches 
# it to the specified window 
# with nothing function
cv2.createTrackbar("LH", "Tracking",
                   0, 255, nothing)
cv2.createTrackbar("LS", "Tracking", 
                   0, 255, nothing)
cv2.createTrackbar("LV", "Tracking", 
                   0, 255, nothing)
cv2.createTrackbar("HH", "Tracking", 
                   0, 255, nothing)
cv2.createTrackbar("HS", "Tracking", 
                   0, 255, nothing)
cv2.createTrackbar("HV", "Tracking",
                   0, 255, nothing)
  
# This drives the program 
# into an infinite loop. 
while True:
    
    # Captures the live stream frame-by-frame
    _, frame = cap.read()
      
    # Converts images from BGR to HSV 
    hsv = cv2.cvtColor(frame, 
                       cv2.COLOR_BGR2HSV)
      
    # find LH trackbar position
    l_h = cv2.getTrackbarPos("LH",
                             "Tracking")
    # find LS trackbar position
    l_s = cv2.getTrackbarPos("LS",
                             "Tracking")
    # find LV trackbar position
    l_v = cv2.getTrackbarPos("LV", 
                             "Tracking")
    # find HH trackbar position
    h_h = cv2.getTrackbarPos("HH", 
                             "Tracking")
    # find HS trackbar position
    h_s = cv2.getTrackbarPos("HS",
                             "Tracking")
    # find HV trackbar position
    h_v = cv2.getTrackbarPos("HV",
                             "Tracking")
    # create a given numpy array
    l_b = np.array([l_h, l_s,
                    l_v])
    # create a given numpy array
    u_b = np.array([h_h, h_s,
                    h_v])
    # create a mask
    mask = cv2.inRange(hsv, l_b,
                       u_b)
    # applying bitwise_and operation
    res = cv2.bitwise_and(frame, 
                          frame, mask = mask)
      
    # display frame, mask
    # and res window
    cv2.imshow('frame', frame)
    cv2.imshow('mask', mask)
    cv2.imshow('res', res)
      
    # wait for 1 sec
    k =  cv2.waitKey(1)
      
    # break out of while loop
    # if k value is 27
    if k == 27:
        break
          
# release the captured frames 
cap.release()
  
# Destroys all windows. 
cv2.destroyAllWindows()

Producción:

detect objects of same color

Publicación traducida automáticamente

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