2017-11-07 2 views
0

저는 RDBMS 배경에서 왔으며 단지 파이썬에서 시작했습니다. 아래 내가 파이썬AttributeError : 모듈 'cv2.cv2'에는 'release'속성이 없습니다.

import cv2 

vid = cv2.VideoCapture(0) 
while vid == True: 
    print("Connected...."); 
if cv2.waitKey(0) : break 

cv2.release(); 

를 통해 내 웹 캠을 호출하기 위해 작성된 간단한 코드이지만, 그것을 실행하는 동안 나는 오류를

AttributeError: module 'cv2.cv2' has no attribute 'release' 

을 얻고있다. 나는이 코드를 python3.5와 linux 14.04 플랫폼에서 사용하고있다. help ("modules") 목록을 통해 설치된 cv2 패키지를 볼 수 있으며 오류없이 가져올 수 있습니다. 그러나 나는 pycharm의 통역자 목록에서 그것을 보지 않는다. 도와주세요.

+0

내가 아직 나에게 알 수없는 OpenCV의 및 python3.5에 문제가 있었다 것 같아 물어 주시기 바랍니다. 나는 python2.7로 다시 전환했고 [link] (https://www.pyimagesearch.com/2015/06/22/install-opencv-3-0-and-python-2-7-on-)에서 블로그를 사용했다. 우분투 /) opencv를 설치하고 아무 문제없이 일했다. –

답변

1

cv2.release() 존재하지 않습니다. 나는 당신이 일을하려고하는 것은 vid.release()

cv2는 OpenCV의 모듈이며, vidVideoCapture 개체입니다 생각합니다. 그것은 당신이 릴리스를해야만하는 것입니다.

업데이트 :

코드에 몇 가지 실수가 있습니다. 당신이 물었던 것을 말하기 전에, 그것들 모두를 살펴 보도록하겠습니다.

처음 들여 쓰기가 잘못되었습니다. 아마 코드를 복사했을 것입니다. 하나

while vid == True: 

이 그것을 할 올바른 방법이 아니다 둘째

. vid.isOpened() 기능을 사용하여 웹캠을 열었거나 웹캠에 연결되어 있는지 확인할 수 있습니다.

세 번째로 지침 뒤에 ;을 사용할 필요가 없습니다.

네 번째 사람은,이 오류가 아니라 다른 번호를 사용하는 경우 필요하지 않은

if cv2.waitKey(0) : break 

필요한 아닌 뭔가 waitKey는 아스키 문자로 누른 키를 반환합니다 0을 입력하지 않으면 0을 반환합니다. 그러나 0을 사용하면 현재 스레드를 "블로킹"하는 키가 대기 할 것입니다 (둘 이상일 경우). 그러나 imshow 창이 열리지 않으면 기다리지 않습니다.

이제, 스크립트가 키를 누를 때까지 동영상을 표시 할 수있는 유사한 방식으로

import cv2 

vid = cv2.VideoCapture(0) 
if vid.isOpened(): 
    print ("Connected....") 
else: 
    print ("Not Connected....") 

vid.release() 

될 것 카메라에 연결할 수 있는지 내가 쓴 그 변화를 체크하는 전체 코드 : 뭔가 명확하지 않으면

import cv2 

vid = cv2.VideoCapture(0) 
if vid.isOpened(): 
    print ("Connected....") 
    while True: 
    ret, frame = vid.read() 
    if ret: 
     cv2.imshow("image", frame) 
    else: 
     print ("Error aqcuiring the frame") 
     break 
    if cv2.waitKey(10) & 0xFF: 
     break 
else: 
    print ("Not Connected....") 

vid.release() 
cv2.destroyAllWindows() 

:)

+0

아아 ... 내 잘못 ... 그 오류를 중지했지만 여전히 내 캠은 호출되지 않습니다. 내가 누락 된 것을 제안 해 주시겠습니까? –

+0

@PawanRawat 확실한 답변을 작성했습니다.나는 가능한 모든 문제를 다루고 테스트 할 간단한 예제를 주었다고 생각합니다. – api55

+0

도움을 주신 api55 ... 정말로 그 수준에 대해 설명해 주셔서 감사합니다. 그것의 나의 첫 번째 스크립트는 실제로 ... 지금 나는 당신이 제공 한 코드를 실행했다. 나는 "연결되어 있지 않다."라는 메시지를 얻는다. –

관련 문제