Opencv
VideoCapture.py
import cv2
camera = cv2.VideoCapture(0)
camera.set(cv2.CAP_PROP_FRAME_WIDTH, 1920)
camera.set(cv2.CAP_PROP_FRAME_HEIGHT, 1080)
while True:
ret, frame = camera.read()
cv2.imshow('camera', frame)
if cv2.waitKey(1) & 0xFF == ord('q'):
cv2.imwrite("capout.jpg ", frame)
break
camera.release()
cv2.destroyAllWindows()
Avec la caméra standard Windows, lorsque 1080p est sélectionné, l'image est normalement sortie de la caméra Web, mais lors de l'utilisation de la capture vidéo d'Opencv, les deux côtés sont remplis de noir comme indiqué dans l'image de référence, et la résolution elle-même est également étendue. Je sens la rugosité. La fréquence d'images n'augmente pas même si l'appareil photo peut filmer des vidéos à 60 ips en 1080p. (La valeur définie est reflétée dans la fonction get de VideoCapture, mais lorsque la fréquence d'images est réellement mesurée, elle culmine à 30 ips.)
Un phénomène similaire a été signalé sur le site suivant, j'ai donc essayé la solution et l'ai résolue. OpenCV capturing imagem with black side bars
VideoCapture2.py
import cv2
#Changer la diffusion en DSHOW
camera = cv2.VideoCapture(0, cv2.CAP_DSHOW)
camera.set(cv2.CAP_PROP_FRAME_WIDTH, 1920)
camera.set(cv2.CAP_PROP_FRAME_HEIGHT, 1080)
while True:
ret, frame = camera.read()
cv2.imshow('camera', frame)
if cv2.waitKey(1) & 0xFF == ord('q'):
cv2.imwrite("capout.jpg ", frame)
break
camera.release()
cv2.destroyAllWindows()
Je ne sais pas si la cause directe est un mauvais Windows ou un problème avec la version d'Opencv, mais j'ai pu le résoudre en utilisant un format de streaming appelé Direct SHOW. Veuillez vous référer à l'explication sur Direct SHOW ci-dessous. qiita_directshow Jusqu'à présent, j'ai utilisé la capture vidéo d'Opencv normalement, mais jusqu'à présent (dans un autre environnement), il n'y avait pas de problème avec le streaming par défaut, donc la question demeure. De plus, si nous pouvons confirmer des options qui ne peuvent pas être utilisées ou des retards importants dus à ce changement, nous les ajouterons.
Recommended Posts