OpenCV
OpenCV 소개
- Open Source Computer Vision Library의 약자
- 전통적 영상 처리와 컴퓨터 비전 관련 오픈 소스 라이브러리
- 2,500개 이상의 알고리즘으로 구성
- C/C++, Python 등 지원
OpenCV 설치
pip install opencv-python
파일 열기
임포트
import cv2
파일 열기
img = cv2.imread('balloon.webp')
이미지 보기
OpenCV는 이미지를 BGR 형식으로 읽음 → RGB 형식으로 바꿈
rgb = cv2.cvtColor(img, cv2.COLOR_BGR2RGB)
OpenCV에서 열린 이미지는 넘파이 배열 → PIL 형식으로 변환
from PIL import Image
Image.fromarray(rgb)
PIL과 넘파이간 형식 변환
PIL → 넘파이
import numpy as np
np.array(img)
넘파이 → PIL
Image.fromarray(img)
웹캠 캡처
캡처 준비
capture = cv2.VideoCapture(0)
캡처할 이미지의 폭을 640으로 설정
capture.set(cv2.CAP_PROP_FRAME_WIDTH, 640)
True
캡처할 이미지 높이를 480으로 설정
capture.set(cv2.CAP_PROP_FRAME_HEIGHT, 480)
True
캡처
ret, img = capture.read()
ret
: 성공 여부img
: 캡처된 이미지(넘파이 배열)
보기
rgb = cv2.cvtColor(img, cv2.COLOR_BGR2RGB)
Image.fromarray(rgb)
카메라 해제
capture.release()
캐니 함수를 이용한 가장자리 검출
가장 널리 사용되는 가장자리 검출 방법 PIL의 단순한 CONTOUR 필터보다 성능이 좋음
canny = cv2.Canny(img, 85, 255)
85(하한)-255(상한) 범위의 값을 가지는 가장자리만 검출
보통 하한:상한은 1:2~1:3을 권장 → 조건에 따라 적절하게 조절하여 사용
Image.fromarray(canny)