파이썬 강의/openCV

파이썬 openCV 0. openCV란?

마리사라 2020. 11. 14. 21:53
반응형

안녕하세요. 이번에 파이썬을 이용한 openCV에 대해서 시리즈를 써보려고 합니다.

 

우선 openCV가 무엇인지와 파이썬에서 어떻게 사용할 수 있는지에 관해서 써보려고 합니다.

 


1. openCV

우선 위키백과에서 openCV의 정의는 " OpenCV(Open Source Computer Vision)은 실시간 컴퓨터 비전을 목적으로 한 프로그래밍 라이브러리이다. 원래는 인텔이 개발하였다. 실시간 이미지 프로세싱에 중점을 둔 라이브러리이다 "이지만, 이걸 보는 여러분들은 대부분 관심이 없으실 겁니다.

 

그래서 가장 간략하게 설명하자면, 실시간 이미지 처리 기술이라고만 아셔도 충분하실 겁니다. 어차피 그 이상은 전문가용의 설명이고, 이 글을 보시는 여러분들은 전혀 관심이 없으실 테니까요.


2. 파이썬에서의 openCV

여러분들이 가장 궁금해하실 파이썬에서의 openCV입니다. 원래 openCV는 C/C++의 환경에 맞게 나왔습니다. 거기에 파이썬은 대부분의 프로그래밍 언어 중에서 처리속도가 느린 편에 속합니다. 그래서 openCV의 원래 환경에 맞지도 않고, 처리량이 많은 이미지 처리에도 적합하지 않죠.

 

하지만 사람은 불편한 게 있으면 바꾸는 본능이 있지 않겠습니까? C/C++의 openCV를 파이썬에 맞게 고치고, 처리속도가 중요한 부분은 C/C++의 틀에서 처리하게 하여 속도의 면도 어느 정도 잡은 파이썬용 openCV가 나오게 됩니다.


3. 파이썬에서 openCV 사용하기

다른 언어였다면 어느 홈페이지에 들어가서 무엇을 설치하고... 등의 여러 귀찮은 과정이 있지만, 파이썬은 pip의 힘으로 바로 설치가 가능합니다

파이썬 콘솔을 열고(또는 명령 프롬프트에서 python을 입력한 후)

>pip install opencv-python

만 입력해줘도 알아서 openCV를 설치해 줍니다.

 

그렇게 설치가 됐다면, 여타 파이썬 모듈처럼 import 해줘야 하는데

import cv2

로 import 해줄 수 있습니다. (분명 받을 때는 opencv-python이고 이름은 openCV인데, 모듈 이름은 cv2입니다...?)

 

추가적으로 파이썬의 openCV는 단독으로 쓰지 않고 다른 모듈과 같이 쓰게 되는데, 파이썬의 기본 모듈 중 하나인 numpy입니다.

import numpy as np

대부분의 책과 설명들에는 numpy를 np로 사용하기에 우리도 np로 쓰도록 하겠습니다. 대세는 중요하니까요.

 

또한 이러한 이미지 처리를 할 때 기본적으로 사용하는 이미지는 대부분 lenna라고 하는 여성의 이미지를 사용합니다.

 

lenna(레나)

 

이미지 크기는 512x512의 이미지 크기로, 화질이 기본적으로 선명한 이미지가 좋습니다.

 

Lenna.png
0.45MB

 

그래서 lenna이미지를 첨부해 드릴 테니, 이번 시리즈에서는 주로 lenna이미지로 작업을 하도록 하겠습니다.


4. 마무리

이 정도만 하셨다면 이제 파이썬에서 openCV를 사용할 준비가 되셨습니다.

 

이다음부터는 실제로 openCV를 이용해서 이미지를 여러 가지 작업을 하게 될 겁니다. 그렇게 어렵지 않고, 대부분의 코드 설명도 같이 해드릴 예정이니 참고해서 공부하시면 좋으실 것 같습니다.

반응형