Даю 45 баллов сделайте робота пэжжж
![](https://files.topotvet.com/i/474/47445e8ae7a4b150e3698c4eab731b40.png)
Ответы
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)
# визначаємо найбільший контур (це буд