Beispiel #1
0
def main():
    vs = PiVideoStream()
    vs.start()
    time.sleep(2.0)
    vs.consistent()

    setup_trackbars(range_filter)
    cv2.namedWindow("Original", cv2.WINDOW_NORMAL)
    cv2.namedWindow("Thresh", cv2.WINDOW_NORMAL)

    while True:
        image = vs.read()
        frame_to_thresh = cv2.cvtColor(image, cv2.COLOR_BGR2HSV)

        v1_min, v2_min, v3_min, v1_max, v2_max, v3_max = get_trackbar_values(range_filter)
        thresh = cv2.inRange(frame_to_thresh,(v1_min, v2_min, v3_min),(v1_max, v2_max, v3_max))

        cv2.imshow("Original", image)
        cv2.imshow("Thresh", thresh)

        if cv2.waitKey(1) & 0xFF is ord('q'):
            break
Beispiel #2
0
# Demarre la communication sur le port série
ser = serial.Serial('/dev/ttyACM0',9600)

# Fenetre d'affichage de la "vue" du robot
cv2.namedWindow('preview', cv2.WINDOW_NORMAL)

# Definition des seuils HSV pour le vert
greenLower = (90, 70, 90)
greenUpper = (105, 255, 255)

# Demarage du flux video sur un thread different
vs = PiVideoStream()
vs.start()
# Laisse le temps de chauffer a la camera
time.sleep(2)
vs.consistent()
print("Demarrage")

# Boucle principale 
while True :
    frame = vs.read()
    # Convertis la frame en HSV
    hsv = cv2.cvtColor(frame, cv2.COLOR_BGR2HSV)
    # Construis un masque pour la couleur définie
    mask = cv2.inRange(hsv, greenLower, greenUpper)

    mask = cv2.erode(mask, None, iterations = 4)  
    mask = cv2.dilate(mask, None, iterations = 4)
    # Detecte les contours dans le masque 
    # Calcul du moment du masque
    moment = cv2.moments(mask)