Я использую openai тренажерный зал ретро с Atari2600 Asteroids rom в качестве основы для моего проекта обучения подкрепления и столкнулся с проблемой наблюдений и визуализации. Точнее, наблюдение - это либо просто агент / космический корабль с пулями , либо метеориты . Поэтому каждый второй кадр - это просто космический корабль.
Моя цель - объединить два изображения, которые будут использоваться как одно изображение, с использованием cv2. У меня была базовая c оболочка наблюдения, которая работала для наблюдений, но для рендеринга (вызова env.render ()) она все еще решает начальную проблему.
class MemoryFrameWrapper(gym.ObservationWrapper):
def __init__(self, env):
super().__init__(env)
self._prevFrame = None
self._thereisprev = False
def observation(self, frame):
if self._thereisprev:
frame2 = cv2.addWeighted(self._prevFrame, 1, frame, 1, 0)
self._prevFrame = frame
else:
frame2 = frame
self._thereisprev = True
self._prevFrame = frame
return frame2
Есть ли другая оболочка, которую мне нужно использовать, чтобы сделать кадры действительно объединенными путем запоминания или есть другое решение?