안녕하세요! 오늘은 컴퓨터 비전 분야의 '갓(God) 라이브러리'라 불리는 OpenCV의 기초 개념과 설치 방법을 정리해 보려 합니다. 개발자라면 한 번쯤 들어봤을 OpenCV, 왜 쓰는지부터 알고 가시죠!
1. 영상 처리 vs 컴퓨터 비전: 한 끗 차이?
많은 분이 헷갈려 하는 두 개념, 사실 목적부터 다릅니다.
- 영상 처리 (Image Processing)
- 목적: 원본 영상을 가공해서 '더 보기 좋은' 영상을 만드는 것.
- 사례: 화질 개선, 노이즈 제거, 영상 복원 등.
- 비유: 포토샵의 필터 기능이나 색감 보정이라고 생각하면 쉽습니다.
- 컴퓨터 비전 (Computer Vision)
- 목적: 영상에서 '의미 있는 정보'를 추출하는 것.
- 사례: 객체 검출(Detection), 객체 인식(Recognition), 객체 추적(Tracking).
- 비유: 사람의 눈처럼 사물을 보고 "저건 강아지네!", "오른쪽으로 움직이네?"라고 판단하는 뇌의 기능입니다.
2. '인식'과 '검출'이 헷갈린다면?
블로그에서 설명할 때 가장 좋은 예시가 바로 '개와 고양이'입니다.
- 객체 인식 (Recognition): 사진 속 동물이 '개'인지 '고양이'인지 맞추는 것.
- 객체 검출 (Detection): 사진 안에서 '어느 위치'에 개가 있는지 박스(Bounding Box)를 그려 찾아내는 것.
💡 Tip: 검출은 위치 정보까지 찾아야 하므로 인식보다 한 단계 더 어려운 작업입니다!
3. 컴퓨터 비전의 필수템, OpenCV란?
Open Source Computer Vision Library의 약자로, 영상 처리에 필요한 수천 가지 알고리즘을 모아놓은 라이브러리입니다.
- 메인 저장소: 공식 배포용 알고리즘 (안정적)
- 엑스트라 저장소 (Contrib): 최신/실험적 알고리즘 (성숙도는 낮으나 트렌디함)
4. 5분 만에 끝내는 개발 환경 세팅 (Python)
Conda 가상 환경을 이용해 깔끔하게 설치하는 방법입니다. (버전은 프로젝트 환경에 맞춰 조절하세요!)
1️⃣ 가상 환경 만들기 및 실행
# 'opencv'라는 이름의 파이썬 3.6 가상환경 생성
conda create -n opencv python=3.6
# 가상환경 활성화
conda activate opencv
2️⃣ 필수 라이브러리 설치
# 행렬 연산의 필수품 Numpy
pip3 install numpy==1.14.0
# OpenCV 본체 + 확장 모듈 설치
pip3 install opencv-contrib-python==3.4.1.15
# 시각화를 위한 Matplotlib
pip3 install matplotlib==2.2.2
3️⃣ 설치 확인 (Python 터미널)
import cv2
print(cv2.__version__) # '3.4.1'이 뜨면 성공!
콘다를 안쓰고싶다면?!
# 가상환경 생성 (이름: opencv-env)
python -m venv opencv-env
# Windows에서 활성화
call opencv-env\Scripts\activate
파워shell이면
.\opencv-env\Scripts\Activate.ps1
# macOS나 Linux에서 활성화
source opencv-env/bin/activate
# 1. pip 업그레이드 (선택 사항이지만 권장)
python -m pip install --upgrade pip
# 2. numpy 1.14.0 버전 설치
pip install numpy==1.14.0
# 3. OpenCV contrib 모듈 (확장 기능 포함) 3.4.1 버전 설치
pip install opencv-contrib-python==3.4.1.15
# 4. matplotlib 2.2.2 버전 설치
pip install matplotlib==2.2.2
🚀 마치며
일반적으로 컴퓨터 비전을 하기 전에는 영상 처리를 통해 원본을 깔끔하게 다듬는 과정이 선행됩니다. 깨끗한 데이터에서 정확한 정보가 나오는 법이니까요! 궁금하신 점은 댓글로 남겨주세요!
반응형
'컴퓨터 과학 > 👀 컴퓨터 비전' 카테고리의 다른 글
| 🎨 [OpenCV 기초] 이미지 색상 표현 방식 (BGR, HSV, YUV) 이해하기 (0) | 2026.01.07 |
|---|---|
| 📸 [OpenCV 기초] 이미지 내 관심영역(ROI) 표시 및 활용하기 (0) | 2026.01.07 |
| 🖱️ [OpenCV 기초] 창 관리와 인터랙티브한 이벤트 처리 (키보드 & 마우스) (0) | 2026.01.07 |
| 📸 [OpenCV 기초] 이미지 위에 자유롭게 도형 그리기 (1) | 2026.01.07 |
| 📸 [OpenCV 기초] 이미지와 동영상 입출력 완벽 가이드 (0) | 2026.01.07 |