Слежение за цветным объектом на OpenCV

Простой пример использования OpenCV.

Для написания программы на Python для слежения за желтым шаром потребуется использовать компьютерное зрение и библиотеку OpenCV. Вот пример программы на Python, которая использует камеру для обнаружения желтого шара и выводит его координаты:

import cv2

# Открываем видеопоток
cap = cv2.VideoCapture(0)

# Задаем диапазон желтого цвета в HSV-пространстве
yellow_lower = (20, 100, 100)
yellow_upper = (30, 255, 255)

while True:
    # Считываем кадр из видеопотока
    ret, frame = cap.read()

    # Преобразуем кадр в HSV-пространство
    hsv = cv2.cvtColor(frame, cv2.COLOR_BGR2HSV)

    # Создаем маску желтого цвета
    mask = cv2.inRange(hsv, yellow_lower, yellow_upper)

    # Находим контуры объектов на маске
    contours, _ = cv2.findContours(mask, cv2.RETR_EXTERNAL, cv2.CHAIN_APPROX_SIMPLE)

    # Ищем контур желтого шара
    for contour in contours:
        area = cv2.contourArea(contour)
        if area > 100:
            # Находим координаты ограничивающего прямоугольника
            x, y, w, h = cv2.boundingRect(contour)
            # Находим координаты центра шара
            center_x = x + w // 2
            center_y = y + h // 2
            # Выводим координаты центра шара
            print(f"Желтый шар найден в ({center_x}, {center_y})")

    # Отображаем кадр
    cv2.imshow("Frame", frame)

    # Выход из цикла при нажатии на клавишу 'q'
    if cv2.waitKey(1) == ord('q'):
        break

# Освобождаем ресурсы
cap.release()
cv2.destroyAllWindows()

Эта программа использует камеру, чтобы получать кадры из видеопотока, и преобразует их в HSV-пространство. Затем программа создает маску, которая выделяет желтый цвет на кадре, и находит контуры объектов на маске. После этого программа ищет контур желтого шара, используя его площадь, и находит координаты центра шара. Координаты центра шара выводятся на экран, а также отображается исходный кадр с выделенными объектами.

Обратите внимание, что программа может требовать настройки параметров, таких как диапазон цвета и площадь контура, в зависимости от условий вашей среды.

Оставьте комментарий