@IvanTRG

Не могу разобраться как работает код?

Это код, признаюсь честно часть его писал не я
import cv2

# Задаем кол-во и размеры зон
num_zones = 4
zone_width = 320
zone_height = 240

# Создаем объект для захвата видео
cap = cv2.VideoCapture(0)

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

    # Разделяем кадр на зоны
    for i in range(num_zones):
        # Вычисляем координаты зоны
        x = (i % 2) * zone_width
        y = (i // 2) * zone_height

        # Получаем изображение зоны
        zone = frame[y:y+zone_height, x:x+zone_width]

        # Отображаем изображение зоны
        cv2.imshow(f"Zone {i+1}", zone)

    # Отображаем исходный кадр
    

    # Если нажата клавиша 'q', выходим из цикла
    if cv2.waitKey(1) & 0xFF == ord('q'):
        break


cap.release()
cv2.destroyAllWindows()


в общем суть работы кода я понимаю, но возникает вопрос как работает данные строки кода
for i in range(num_zones):
        # Вычисляем координаты зоны
        x = (i % 2) * zone_width
        y = (i // 2) * zone_height

        # Получаем изображение зоны
        zone = frame[y:y+zone_height, x:x+zone_width]

Хочу сразу попросить не писать, что раз не понимаешь, иди занимайся более простой задачей. Я просто хочу разобраться в работе кода!
  • Вопрос задан
  • 192 просмотра
Решения вопроса 1
mayton2019
@mayton2019
Bigdata Engineer
Вот так работают.

>>> for i in range(4):
...         x = (i % 2)
...         y = (i // 2)
...         print("i=", i, " x=", x, " y=",y)
...
i= 0  x= 0  y= 0
i= 1  x= 1  y= 0
i= 2  x= 0  y= 1
i= 3  x= 1  y= 1
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы