반응형



Python용 IDE인 PyCharm에서 OpenCV 최신버전을 사용하는 방법을 설명합니다.  Windows 10과 Ubuntu 18.04에서 진행했습니다.


아래 포스팅에서 소개하고 있는 pip를 사용하여 OpenCV를 설치해오다가 이번에 릴리즈된 OpenCV 4.0.1은 아직 패키지가 준비안되어 있어서 다른 방법으로 설치를 진행해봤습니다.



PyCharm에서 OpenCV 사용하는 방법( Windows / Ubuntu )

https://webnautes.tistory.com/913





각 항목은 윈도우와 우분투로 설명이 분리 되어 있습니다. 사용하는 운영체제에 해당되는 내용을 보세요.



1. Python 설치


2. PyCharm 설치


3. OpenCV 프로젝트 생성 및 테스트


4. 관련 예제






1. Python 설치

1.1. Windows

다음 링크에서 파이썬 2 또는 Python 3를 다운로드 받아 설치하세요.

https://www.python.org/downloads



대부분의 경우 64비트 윈도우용을 다운로드 받으면 됩니다.




1.2. Ubuntu


디폴트로 Python 2와 Python 3가 설치되어 있습니다.




2. PyCharm 설치

2.1. Windows

https://www.jetbrains.com/pycharm/download/#section=windows에서 커뮤니티 버전을 다운로드받습니다.




PC에 JRE가 설치안되어 있는 경우에는 설치 진행시 Download and install JRE x86 by JetBrains를 체크해줘야합니다. 확실치 않으면 체크해주세요.




2.2. Ubuntu

다음 명령으로 설치를 진행합니다.


$ sudo snap install pycharm-community --classic




3. OpenCV 설치

3.1. Windows

1. OpenCV를 위한 깃허브(https://github.com/opencv/opencv/releases )에서 opencv-4.0.1-vc14_vc15.exe를 다운로드 받습니다.





2. 다운로드 받은 파일을 실행시킨 후, Extract 버튼을 클릭하면 다운로드 받은 위치에 압축이 풀립니다.




압축 풀린 폴더의 opencv\build\python\cv2로 이동하여 앞에서 설치한 python 버전의 폴더로 이동합니다.




확장자가 pyd인 파일을 복사하여





파이썬이 설치된 다음 경로에 붙여넣기 합니다. Python36 부분은 설치한 파이썬 버전으로 대체해야 합니다.

C:\Users\사용자이름\AppData\Local\Programs\Python\Python36\Lib\site-packages




C:\Users\사용자이름\Downloads\opencv\build\x64\vc15\bin에 있는 opencv_ffmpeg401_64.dll, opencv_world401.dll 파일을 복사하여 다음 경로에 붙여넣기 합니다.




C:\Users\사용자이름\AppData\Local\Programs\Python\Python36\Lib\site-packages





3. 윈도우 키 + R을 눌러 실행창에서 cmd 엔터를 입력합니다.





4. 파이썬을 실행시키고 아래처럼 cv2 모듈을 임포트해서 OpenCV 버전을 확인해봅니다.  4.0.1이 출력되야 합니다.


C:\Users\webnautes>python
Python 3.6.7 (v3.6.7:6ec5cf24b7, Oct 20 2018, 13:35:33) [MSC v.1900 64 bit (AMD64)] on win32
Type "help", "copyright", "credits" or "license" for more information.
>>> import cv2
>>> cv2.__version__
'4.0.1'
>>>



3.2. Ubuntu

다음 포스팅을 참고하여 OpenCV를 설치합니다.



Ubuntu 18.04에 opencv_contrib 포함하여 OpenCV 4.0.1 설치하는 방법

https://webnautes.tistory.com/1186





4. OpenCV 프로젝트 생성 및 테스트


Windows와 Ubuntu에서 공통적으로 진행합니다.



1. 새로운 프로젝트를 생성하기 위해 Create New Project를 클릭합니다.





2. Location 항목에 프로젝트 폴더 이름을 적어주고 아래쪽에 보이는 Inherit global site-packages를 체크합니다.  Create 버튼을 클릭하면 프로젝트가 생성됩니다.





3. 프로젝트 이름을 선택하고 마우스 우클릭하여 보이는 메뉴에서 New > Python File을 선택합니다.





4. Name에 파이썬 파일 이름을 적어주고 OK 버튼을 클릭하면 해당 파일이 프로젝트에 추가됩니다.





5. 다음 코드를 파이참에 열려있는 파이썬 파일에  복사해줍니다.


import cv2 as cv


cap = cv.VideoCapture(0)


while(True):

   ret, img_color = cap.read()

   if ret == False:
       continue;

   cv.imshow('bgr', img_color)

   # ESC 키누르면 종료
   if cv.waitKey(1) & 0xFF == 27:
       break

cap.release()
cv.destroyAllWindows()




6. 메뉴에서 Run > Run을 선택합니다.  메뉴가 보이면 파이썬 파일 이름을 선택해줍니다.





7.  실행결과 웹캠에서 캡쳐된 영상이 보입니다. ESC키를 누르면 종료됩니다.



마지막 업데이트 2019. 1. 18



반응형

포스트 작성시에는 문제 없었지만 이후 문제가 생길 수 있습니다.
댓글로 알려주시면 빠른 시일내에 답변을 드리겠습니다.

여러분의 응원으로 좋은 컨텐츠가 만들어집니다.
지금 본 내용이 도움이 되었다면 유튜브 구독 부탁드립니다. 감사합니다 : )

유튜브 구독하기


제가 쓴 책도 한번 검토해보세요.

  1. yxxg2 2019.03.14 18:12

    안녕하세요. opencv에 관심생겨서 작성자님꺼 보고 따라하려고 하는 대학생입니다.
    설치부터 다 따라하고 코드까지 작성했습니다.
    그런데 run눌러 실행하면 캠 화면 창이 안뜨는데 어떻게 해야하나요??
    캠이 작동은 하는 것 같습니다. 캠에 불이 들어오긴합니다.

    • Favicon of https://webnautes.tistory.com BlogIcon webnautes 2019.03.14 18:16 신고

      다음 부분을 수정하고 실행해보세요.

      (수정 전)
      if ret == False:
      continue;

      (수정 후)
      if ret == False:
      print("웹캠으로부터 영상 가져오는데 실패했습니다.")


  2. yxxg2 2019.03.14 20:37

    웹캠으로부터 영상 가져오는데 실패했습니다.
    [ WARN:0] videoio(MSMF): OnReadSample() is called with error status: -1072875772
    [ WARN:0] videoio(MSMF): async ReadSample() call is failed with error status: -1072875772
    [ WARN:1] videoio(MSMF): can't grab frame. Error: -1072875772
    Traceback (most recent call last):
    File "C:/Users/SONG/PycharmProjects/OpencvCV_Project1/111.py", line 11, in <module>
    cv.imshow('bgr', img_color)
    cv2.error: OpenCV(4.0.0) C:\projects\opencv-python\opencv\modules\highgui\src\window.cpp:350: error: (-215:Assertion failed) size.width>0 && size.height>0 in function 'cv::imshow'

    [ WARN:1] terminating async callback

    이렇게 오류가 뜹니다!

    • Favicon of https://webnautes.tistory.com BlogIcon webnautes 2019.03.14 22:18 신고

      아래 링크 방문하여 웹캠이 동작하는지 확인해보세요.

      https://webcamtoy.com

  3. 지니 2020.02.11 23:38

    감사합니다, 아나콘다 설치할때 기본으로 깔리는 파이썬에 적용해도 잘 되네요.
    아나콘다 파이썬을 기본으로 두고 파이참에서 아나콘다 파이썬을 인터프리터로 해서 테스트해봤습니다.
    대신 아나콘다는 설치할때 버전을 아예 정해서 설치해서 버전폴더는 따로없고 바로 Lib폴더가 나오네요.

    데스크탑에는 웹캠이 없어서 그냥 OpenCV 버전출력만 해봤네요.
    노트북에도 같은방식으로 설치하면 될것 같습니다.

  4. Iota 2020.03.04 20:34

    맥에서 내장카메라를 작동시키려고 하는데, 계속 커널이 죽었다고 뜨네요.
    위에 댓글들 보고 따라했는데, 오류도 없고 카메라도 정상작동 합니다.
    몇일째 인터넷에 관련 자료들 다 확인해봐도 안되네요.

    • Favicon of https://webnautes.tistory.com BlogIcon webnautes 2020.03.04 21:01 신고

      맥OS에서 OpenCV의 웹캠 접근을 막아서 문제가 생기는 듯합니다.

      https://github.com/opencv/opencv/issues/12763

    • iota 2020.03.04 21:37

      어플리케이션은 등록되어 있는데, 혹시 다른 문제인가 해서 이것저것 등록해봐도 안되네요.

      https://github.com/jupyter/notebook/issues/1892#issuecomment-388056879
      https://github.com/jupyter/notebook/issues/1892#issuecomment-539268014

      같은 문제인거 같은데, 잘 안되네요. ㅎㅎ
      아무튼 감사합니다. 더 찾아봐야겠어요.

+ Recent posts