OpenCV :: 컴퓨터 비전 - mindscale
Skip to content

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)