developer tip

Python에서 웹캠에 어떻게 액세스합니까?

copycodes 2020. 12. 31. 22:15
반응형

Python에서 웹캠에 어떻게 액세스합니까?


Python에서 웹캠에 액세스하고 싶습니다.

VideoCapture 확장 프로그램 ( tutorial )을 사용해 보았지만 잘 작동하지 않았습니다. 320x230 이상의 해상도에서 약간 느리고 때로는 None뚜렷한 이유없이 반환 되는 것과 같은 몇 가지 문제를 해결해야했습니다 .

Python에서 웹캠에 액세스하는 더 좋은 방법이 있습니까?


OpenCV는 웹캠에서 데이터를 가져 오는 기능을 지원하며 기본적으로 Python 래퍼와 함께 제공되며 numpyOpenCV Python 확장 (이라고 함 cv2)이 작동 하려면 설치해야합니다 . 2019 년부터는 pip를 사용하여이 두 라이브러리를 모두 설치할 수 있습니다.pip install numpy pip install opencv-python

Python에서 OpenCV 사용에 대한 자세한 정보 .

opencv 및 python을 사용하여 웹캠 피드 표시 에서 복사 한 예제 :

import cv2

cv2.namedWindow("preview")
vc = cv2.VideoCapture(0)

if vc.isOpened(): # try to get the first frame
    rval, frame = vc.read()
else:
    rval = False

while rval:
    cv2.imshow("preview", frame)
    rval, frame = vc.read()
    key = cv2.waitKey(20)
    if key == 27: # exit on ESC
        break
cv2.destroyWindow("preview")

@John Montgomery에 대한 의견이어야했지만 제 담당자는 제가 의견을 남기는 것을 허용하지 않습니다. 귀하의 대답은 훌륭하지만 적어도 Windows에서는 줄이 없습니다.

vc.release()

전에

cv2.destroyWindow("preview")

이것이 없으면 카메라 리소스가 잠기고 Python 콘솔이 종료되기 전에 다시 캡처 할 수 없습니다.


gstreamer는 웹캠 입력을 처리 할 수 ​​있습니다. 잘 기억하면 파이썬 바인딩이 있습니다!


내가 사용한 유일한 것은 VideoCapture인데, 이미 싫어한다고 언급 한 적이 있습니다 (문제가 없었지만 어떤 버그가 발생 했습니까?).

과거 또는 현재 대안을 찾을 수 없었기 때문에 VideoCapture를 사용하거나 멋진 C 라이브러리를 찾고이를위한 Python 래퍼를 작성해야 할 수 있습니다 (기꺼이 넣는 것보다 더 많은 작업이 될 수 있음). ).

참조 URL : https://stackoverflow.com/questions/604749/how-do-i-access-my-webcam-in-python

반응형