Amal anjula Ответов: 0

Как обнаружить RGB в одном кадре


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

Что я уже пробовал:

это мой код
# импорт необходимых пакетов
из picamera. array import PiRGBArray #поскольку в raspberry pi есть проблема с разрешением, вы не сможете захватывать кадры с помощью VideoCapture
из picamera импорт PiCamera
из массива импорт массива
импорт RPi.GPIO как GPIO
время импорта
импорт cv2
импорт cv2.резюме как резюме
импорт включает в себя как НП
импорт серийного номера
импорт даты и времени
импорт ОС


#ЗАХВАТ КАМЕРЫ
#инициализируйте камеру и захватите ссылку на необработанный захват камеры
ширина=400
высота=50

камера = PiCamera()
разрешение камеры = (ширина, высота)
камера. частота кадров =30

rawCapture = PiRGBArray (камера, размер=(ширина, высота))
камеры.hflip=истина
камеры.vflip=истина
# дайте камере прогреться
время сна(0,001)
thrsld=30


# захват кадров с камеры
для изображения в камере.capture_continuous(rawCapture, формат="БГР", use_video_port=истина):
#захватите необработанный массив NumPy, представляющий изображение, а затем инициализируйте временную метку и занятый / незанятый текст.
рамка = изображения.массив
frame=cv2. flip(frame, 1)
ВПГ = cv2.cvtColor(рамка, cv2.резюме.CV_BGR2HSV)

lower_red=NP. array([70,150,50], dtype=np. uint8)
upper_red=NP. array([255,255,180], dtype=np. uint8)
mask_red=cv2.функцией inrange(ВПГ,lower_red,upper_red)





cv2. imshow ("красный", mask_red)
cv2. imshow ("draw", frame)
rawCapture.усечение(0) # очистить трансляция в рамках подготовки к следующему кадру

if (cv2. waitKey(1) & 0xff == ord('q')):
Порты ввода-вывода.очистка()

перерыв

0 Ответов