Pygame – получить конкретный кадр из видеоPython

Программы на Python
Ответить
Anonymous
 Pygame – получить конкретный кадр из видео

Сообщение Anonymous »

Я пытаюсь извлечь определенный кадр из видео, загруженного с помощью pygame
В этом вопросе приведен этот пример

Код: Выделить всё

import pygame
import cv2

video = cv2.VideoCapture("video.mp4")
success, video_image = video.read()
fps = video.get(cv2.CAP_PROP_FPS)

window = pygame.display.set_mode(video_image.shape[1::-1])
clock = pygame.time.Clock()

run = success
while run:
clock.tick(fps)
for event in pygame.event.get():
if event.type == pygame.QUIT:
run = False

success, video_image = video.read()
if success:
video_surf = pygame.image.frombuffer(
video_image.tobytes(), video_image.shape[1::-1], "BGR")
else:
run = False
window.blit(video_surf, (0, 0))
pygame.display.flip()

pygame.quit()
exit()
Однако это просто перебирает все кадры видео.
Есть ли способ получить текущий кадр одним щелчком мыши?
Когда я пытаюсь получить, например, 15-й кадр video_image[15].tobytes(), я получаю TypeError: аргумент 2 должен быть последовательностью длины 2, а не 1

Подробнее здесь: https://stackoverflow.com/questions/695 ... from-video
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Python»