A.J
A.J

Reputation: 251

Fullscreen a video on OpenCV

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

I've simplified my original query as most people didn't understand.

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

Hi, i want to display a video in fullscreen using OpenCV but am not sure how. This is my code so far, yes i am a novice, but you gotta start somewhere. I am running Python 3.6.3

Question: How do i show a video in fullscreen using 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()

I also get this error

Traceback (most recent call last): 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: error: (-27) NULL window in function cvSetModeWindow_W32

Upvotes: 5

Views: 22252

Answers (3)

A.J
A.J

Reputation: 251

Thank to Dan Mašek, the answer to my original question is:

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

Upvotes: 12

Syed Javed
Syed Javed

Reputation: 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()

Upvotes: 0

Aniket Bote
Aniket Bote

Reputation: 3574

I didnt understand your question but if u want to open video camera u can try this 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()

Upvotes: -1

Related Questions