В настоящее время я использую pygame для отображения кадров, полученных из источника opencv VideoCapture. Текущая структура выглядит следующим образом:
pygame.init()
vidcap = cv2.VideoCapture('v.mkv')
success,image = vidcap.read()
screen = pygame.display.set_mode([1280,720])
while True:
success,frame = vidcap.read()
frame = cv2.cvtColor(frame, cv2.COLOR_BGR2RGB)
frame = np.rot90(frame)
frame = pygame.surfarray.make_surface(frame)
screen.blit(frame, (0,0))
pygame.display.update()
Я хотел бы иметь возможность рисовать фигуры поверх этого потока кадров, например pygame.draw.circle (screen, (0,0, 255), pygame. mouse.get_pos (), 50), но pygame.draw ничего не отображает.
EDIT: следующий раздел успешно dr aws обведите кружком первую итерацию, но не вторую. Может быть, эти проблемы связаны?
screen.fill((255,0,0))
pygame.display.update()
sleep(2)
pygame.draw.circle(screen, (0,255, 255), pygame.mouse.get_pos(), 50,10)
pygame.display.update()
sleep(2)
pygame.draw.circle(screen, (0,255, 255), pygame.mouse.get_pos(), 50,10)
pygame.display.update()
sleep(2)