3 votes

Plein écran une vidéo sur OpenCV

--------------EDIT--------------

J'ai simplifié ma demande initiale, car la plupart des gens ne comprenaient pas.

--------------EDIT--------------

Bonjour, je veux afficher une vidéo en plein écran en utilisant OpenCV mais je ne sais pas comment faire. Voici mon code jusqu'à présent, oui je suis un novice, mais il faut bien commencer quelque part. J'utilise Python 3.6.3.

Question : Comment afficher une vidéo en plein écran avec OpenCV ?

import cv2
import numpy as np
import os
os.environ['SDL_VIDEO_CENTERED'] = '1'
cap = cv2.VideoCapture("video.mp4")
cv2.namedWindow("window", cv2.WND_PROP_FULLSCREEN)
cv2.setWindowProperty("video.mp4",cv2.WND_PROP_FULLSCREEN,cv2.WINDOW_FULLSCREEN)
while(cap.isOpened()):
  ret, frame = cap.read()
  if ret == True:
    cv2.imshow('Frame',frame)
    if cv2.waitKey(30) & 0xFF == ord('q'):
      break
  else:
    break
cap.release()
cv2.destroyAllWindows()

Je reçois également cette erreur

Traceback (dernier appel le plus récent) : File "C:/Users/A/Desktop/vid.py", line 7, in cv2.setWindowProperty("video.mp4",cv2.WND_PROP_FULLSCREEN,cv2.WINDOW_FULLSCREEN) cv2.error : C:\projects\opencv -python \opencv\modules\highgui\src\window_w32.cpp :443 : erreur : (-27) fenêtre NULL dans la fonction cvSetModeWindow_W32

5voto

A.J Points 95

Grâce à Dan Masek, la réponse à ma question initiale est la suivante :

import cv2
import numpy as np

file_name = "video location here"
window_name = "window"
interframe_wait_ms = 30

cap = cv2.VideoCapture(file_name)
if not cap.isOpened():
    print("Error: Could not open video.")
    exit()

cv2.namedWindow(window_name, cv2.WND_PROP_FULLSCREEN)
cv2.setWindowProperty(window_name, cv2.WND_PROP_FULLSCREEN, cv2.WINDOW_FULLSCREEN)

while (True):
    ret, frame = cap.read()
    if not ret:
        print("Reached end of video, exiting.")
        break

    cv2.imshow(window_name, frame)
    if cv2.waitKey(interframe_wait_ms) & 0x7F == ord('q'):
        print("Exit requested.")
        break

cap.release()
cv2.destroyAllWindows()

Pastebin

0voto

Aniket Bote Points 408

Je n'ai pas compris votre question mais si vous voulez ouvrir une caméra vidéo, vous pouvez essayer ce code :

import numpy as np
import cv2

cap = cv2.VideoCapture(0)

# Define the codec and create VideoWriter object
fourcc = cv2.VideoWriter_fourcc(*'XVID')
out = cv2.VideoWriter('output.avi',fourcc, 20.0, (640,480))

while(cap.isOpened()):
    ret, frame = cap.read()
    if ret:
        gray = cv2.cvtColor(src=frame, code=cv2.COLOR_BGR2GRAY)

        out.write(gray)

        cv2.imshow('frame', gray)
        if cv2.waitKey(1) & 0xFF == ord('q'):
            break
    else:
        break

cap.release()
out.release()
cv2.destroyAllWindows()

0voto

Syed Javed Points 1
while(cap.isOpened()):
   ret, frame = cap.read()
   if ret == True:
        cv2.namedWindow("window", cv2.WND_PROP_FULLSCREEN)
        cv2.setWindowProperty("window",cv2.WND_PROP_FULLSCREEN,
               cv2.WINDOW_FULLSCREEN)
        cv2.imshow('window',frame)
        if cv2.waitKey(30) & 0xFF == ord('q'):
            break
    else:
         break

cap.release() cv2.destroyAllWindows()

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X