Would you like to know how to show captured webcam content (via videoCapture) in a window that occupied the entire screen? Only appears in a small window.
Do you have to change something in imshow(" imagem ", frame)
?
Would you like to know how to show captured webcam content (via videoCapture) in a window that occupied the entire screen? Only appears in a small window.
Do you have to change something in imshow(" imagem ", frame)
?
Yes, it has. Create the window before using, setting its size as normal. Then use the setWindowProperty
function to set the window to full screen.
Commented code example:
import cv2
# Define a janela de exibição das imagens, com tamanho manual e em tela cheia
winName = 'Janela de Teste para o SOPT'
cv2.namedWindow(winName, cv2.WINDOW_NORMAL)
cv2.setWindowProperty(winName, cv2.WND_PROP_FULLSCREEN, cv2.WINDOW_FULLSCREEN)
# Abre a webcam para captura de vídeo
cam = cv2.VideoCapture(0)
# Laço de execução infinito (até que o usuário feche com a tecla 'q' ou ESC)
while True:
# Captura um novo quadro da webcam
ok, frame = cam.read()
if not ok:
break
# Exibe a imagem na janela existente
cv2.imshow(winName, frame)
# Aguarda o pressionamento de uma tecla ou 30 milisegundos
k = cv2.waitKey(10)
if k == ord('q') or k == ord('Q') or k == 27:
break
# Libera a memória do programa
cam.release()
cv2.destroyAllWindows()
Now if what you want is not full screen, but rather control the size of the window, what you need to do is to stagger the image before displaying it. Here is an example code that puts the image in a window only in the second half of the monitor (considering the Full HD resolution I use here):
import cv2
# Define o tamanho desejado para a janela
w = 960
h = 1080
# Define a janela de exibição das imagens, com tamanho automático
winName = 'Janela de Teste para o SOPT'
cv2.namedWindow(winName, cv2.WINDOW_AUTOSIZE)
# Posiciona a janela na metade direita do (meu) monitor
cv2.moveWindow(winName, 960, 0)
# Abre a webcam para captura de vídeo
cam = cv2.VideoCapture(0)
# Laço de execução infinito (até que o usuário feche com a tecla 'q' ou ESC)
while True:
# Captura um novo quadro da webcam
ok, frame = cam.read()
if not ok:
break
# Altera o tamanho da imagem para o desejado
frame = cv2.resize(frame, (w, h))
# Exibe a imagem na janela existente
cv2.imshow(winName, frame)
# Aguarda o pressionamento de uma tecla ou 30 milisegundos
k = cv2.waitKey(10)
if k == ord('q') or k == ord('Q') or k == 27:
break
# Libera a memória do programa
cam.release()
cv2.destroyAllWindows()