Что я делаю:
Беру видео, беру некоторые его кадры, из каждого из них вырезаю область
1. Сохраняю в новое видео
2. Сохраняю в памяти
Сохраненное видео весит ~80 килобайт, сохраненные в оперативной памяти области весят ~260 мегабайт.
Почему такая разница?
Хочу чтобы эти области были в оперативной памяти как изображения, чтобы их использовать, но в данный момент они как Numpy массив.
Кодfor frame in objects_frame_position:
video.set(cv2.CAP_PROP_POS_FRAMES, frame)
ret, video_frame = video.read()
if ret:
object_frame_info = objects_frame_position[frame]
position: Position = object_frame_info['Position']
object_border = video_frame[position.y:position.y+position.height, position.x:position.x+position.width]
objects_images[object_id].append(object_border)
Может можно как-то конвертировать их в изображения, чтобы они не занимали столько памяти?