Даю 45 баллов сделайте робота пэжжж

Приложения:

Ответы

Ответ дал: valfoimine
0

import cv2

# ініціалізуємо підключення до датчиків та моторів

def main():

   # зчитуємо зображення з камери

   frame = cv2.imread('cube_image.png')

   # визначаємо ROI для кожного кольору кубика

   red_roi = frame[100:200, 100:200]

   green_roi = frame[100:200, 250:350]

   blue_roi = frame[100:200, 400:500]

   # визначаємо кольори кубиків в кожному ROI

   red_color = get_color(red_roi)

   green_color = get_color(green_roi)

   blue_color = get_color(blue_roi)

   # виконуємо сортування кубиків згідно з визначеним алгоритмом

   if red_color == 'red' and green_color == 'green' and blue_color == 'blue':

       move_to_box('red')

       move_to_box('green')

       move_to_box('blue')

   # закінчуємо підключення до датчиків та моторів

# функція для визначення кольору кубика на зображенні

def get_color(roi):

   # перетворюємо зображення в HSV формат

   hsv_roi = cv2.cvtColor(roi, cv2.COLOR_BGR2HSV)

   # визначаємо діапазон кольору кубика

   if color == 'red':

       lower_range = np.array([0, 70, 50])

       upper_range = np.array([10, 255, 255])

   elif color == 'green':

       lower_range = np.array([50, 100, 100])

       upper_range = np.array([70, 255, 255])

   elif color == 'blue':

       lower_range = np.array([90, 50, 50])

       upper_range = np.array([120, 255, 255])

   # створюємо маску для кольору кубика

   mask = cv2.inRange(hsv_roi, lower_range, upper_range)

   # знаходимо контури на зображенні

   contours, hierarchy = cv2.findContours(mask, cv2.RETR_TREE, cv2.CHAIN_APPROX_SIMPLE)

   # визначаємо найбільший контур (це буд

Вас заинтересует