2017-03-29 6 views
8

저는 Ubuntu 14.04를 사용하고 있습니다. Adrian Rosebrock의 가이드를 사용하여 OpenCV를 설치했습니다. Python과 opencv 프로그래밍에 PyCharm을 사용하고 있습니다.OpenCV 및 Python 코드 완성 기능이 작동하지 않습니다.

내 문제는 cv2 모듈에 코드 완성을 사용할 수 있지만 코드 완성은 cv2에서 시작된 인스턴스에서 작동하지 않는다는 것입니다. 다음은 그 예입니다.

This one works.

But this one wouldn't.

예상대로 내 프로그램을 작성에는 런타임 오류가 없습니다

. 따라서 cap.isOpened()은 오류없이 작동합니다.

+0

링크하여 [가이드] (http://www.pyimagesearch.com/2015/06/22/install-opencv-3-0-and-python-2-7를 타고 - 우분투 /). –

답변

4

openCV python 모듈은 기본 C++ 라이브러리의 dynamically generated wrapper입니다. PyCharm은 자동 완성 기능을 제공하기 위해 Python 소스 코드의 가용성에 의존합니다. opencv의 경우와 같이 소스 코드가 없으면 pycharm은 함수 프로토 타입이 포함 된 스 켈리 톤 파일을 생성하고 자동 완성 기능에 의존하지만 성능이 저하됩니다. 이 모듈 CV2는 다음과 같은 멤버를 가지고 파악과 제안을 제공 할 수

cv2. 

에서 자동 완성 결과

. 한편

cap = cv2.VideoCapture(file_name) 

PyCharm 그냥 CV2 모듈에서 방법을 불러 cap에 할당하지만이 방법의 결과의 유형에 대한 정보가없는 것을 알 수 있으며, 당신은 쉘 모드에서 같은 일을하려고하면

cap. 

위한 제안을 찾아 갈 곳 모르고, 당신은 실제로 동작을 볼 수 있습니다 실제로 라이브 오브젝트를 성찰합니다 쉘 모드에 있기 때문에, 할 전망 (그것이 무슨 구성원 생성 캡 객체를 요청할 것입니다 및 제안 등 그 제공) 수 있도록 자신을 모듈


당신은 또한 OpenCV의 스텁을 작성할 수 있습니다 편집 모드에서 자동 완성을 수정하십시오.

는 모습을 here

+0

PyCharm의 Python 콘솔에서 자동 완료 기능은 의도 한대로 작동합니다. 그러나, 편집기에서 자동 완성 기능을 사용하려고 할 때 내 문제가 해결되지 않습니다. 편집자에게도 내성을 실시 할 수있는 방법이 있습니까? –

+0

@ Justin, 나는이 질문에 대한 대답에 동의하지 않습니다. 둘 다, 당신이보고 행동을 설명하고 원하는 행동 (opencv 모듈에 대한 스텁 작성)에 도달하는 방법을 제공합니다. 이것이 사소한 일이기 때문에 내가 그것을 제공 할 것이라고 기대하면 안된다. 에디터에서 작성한 내용은 파이썬 인터프리터에서 먼저 평가해야하기 때문에 어렵고 위험 할 수 있습니다. –