안녕하세요. 이번 포스팅부터는 영상 처리 라이브러리 중 아주 유명한 Opencv 설치 및 활용법을 알아보도록 하겠습니다. 해당 포스팅은 opencv tutorial을 참고하여 만들어집니다.
오늘은 간단하게 설치 및 간단한 테스트만 진행해보도록 하겠습니다. 파이썬으로 진행할 예정이기 때문에 새로운 가상환경을 만들어보도록 하겠습니다. conda 관련 명령어 및 가상환경 생성 방법은 제가 이전 포스트에서 자세히 설명하였기 때문에 좀 더 자세한 설명을 원하시는 분들은 아래의 링크를 참조해주시길 바랍니다.
저는 가상환경 이름으로 opencv_tutorial 이라고 지었습니다.
(base) ➜ opencv conda create -n opencv_tutorial
또한 제가 연동할 파이썬 IDE는 VScode입니다. 설치하는 방법 역시 아래의 링크에 제가 소개해놓았으니 미리 설치하고 오시길 바랍니다.
가상환경을 만들었으면 이제 VScode가 인식할 수 있도록 만들어주어야합니다. VScode를 설치하셨으면 실행하신 뒤에 작업 공간으로 이동한 다음 아무런 .py 파일을 하나 만들어주시길 바랍니다. 그러면 VScode 하단에 인식되고 있는 파이썬 가상환경을 볼 수 있습니다.
그 다음으로 "Python 3.8.8...."이라고 뜨는 부분을 선택한 뒤 미리 만들어놓은 가상환경을 선택합니다. 만약 미리 정한 가상환경의 이름이 보이지 않는다면 직접 이름을 검색해보시고 그래도 안보이면 VScode를 껏다가 켜보시는 것을 추천드립니다. 그러면 저 처럼 아래 창에 제가 미리 만들어놓은 가상환경으로 인식되는 것을 볼 수 있습니다. 하지만 아직 opencv 라이브러리는 설치하지 않았기 때문에 이제부터는 라이브러리 설치를 해보도록 하겠습니다.
(opencv_tutorial) ➜ ~ conda install -c conda-forge opencv
위의 명령어를 터미널에 입력하면 필요한 라이브러리들을 설치하기 시작합니다. 이때 꼭 미리 만들어놓은 가상환경이 저처럼 "opencv_tutorial"과 같이 활성화되어있는 것을 확인하시길 바랍니다.
다 마무리 되셨으면 마지막으로 버전 체크를 해보도록 하겠습니다.
import cv2
print("opencv-python version = ", cv2.__version__)
위의 사진과 같이 오류없이 정상적으로 버전이 출력된다면 잘 설치된것입니다. 이제 간단한 테스트를 위해서 아주 유명한 사진을 로드해보고 마치도록 하겠습니다. 제가 디지털 영상 처리 구현에서도 자주 쓰는 아인슈타인의 사진입니다.
위 사진을 opencv로 로드를 해보죠. opencv를 이용해서 로드하면 각 영상 객체는 shape이라는 속성을 가지고있습니다. 영상의 가로 세로 채널의 개수를 출력해볼 수 있습니다.
import cv2
# print("opencv-python version = ", cv2.__version__)
img = cv2.imread('./example/Einstein.jpg')
print(img.shape)
cv2.imshow("Example Image", img)
cv2.waitKey(0)
cv2.destroyAllWindows()
위의 코드에서 cv2.imshow(), cv2.waitkey(0)와 cv2.destroyAllWindows()는 항상 같이 쓴다고 보시면 됩니다. 엔터를 입력하면 자동으로 출력된 창이 자동으로 꺼지게 만들어줍니다. 코드는 앞으로 아래의 깃허브에 올려놓도록 하겠습니다.
또한 종종 제가 opencv의 내부 함수 알고리즘(예를 들어 블러링, 샤프닝 등등)을 설명할 때는 제가 현재 업로드하고 있는 디지털 영상 처리 포스팅 링크를 주제에 맞게 올려드리도록 하겠습니다.
'Programming > Python' 카테고리의 다른 글
Opencv 제대로 쓰기[2]- 외부 카메라로부터 동영상 입력받기 (0) | 2021.04.25 |
---|---|
Opencv 제대로 쓰기[1] - 컴퓨터 내 영상/동영상 입출력 (0) | 2021.04.17 |
Sympy 알고 쓰자 - polynomial Simplify (0) | 2020.12.31 |
Sympy 알고 쓰자 - Common Simplification (0) | 2020.12.10 |
Sympy 알고 쓰자 - 기본 연산 (0) | 2020.11.29 |