yoncho`s blog
OpenCV란? | 기계의 눈을 담당하는 라이브러리 본문
OpenCV란?
Open Source Computer Vision Library 약어로,
실시간 영상 처리에 중점을 둔 영상 처리 라이브러리이다.
계산 효율성과 실시간 처리에 중점을 두고 설계됐다. GPU 가속 모듈 지원으로 고해상도 이미지에 대해서 정확하고 정교한 알고리즘을 실시간으로 처리할 수 있다.
머신러닝과도 밀접하게 연관돼 있어 머신러닝과 관련된 모듈도 포함한다.
컴퓨터 비전의 기본 처리 과정
- 입력 데이터
- 전처리 과정
- 특징 검출
- 데이터 해석
- 출력 데이터
입력데이터를 받아 전처리 과정을 거치고 변환된 데이터에서 특징을 검출한다. 이때 윤곽선, 코너, 데이터 영역 내의 특성 등을 검출하고 벡터화 하는 작업을 수행한다.
그렇게 정제된 변환 데이터를 해석과정을 통해 알고리즘에서 요구하는 문제 해결을 진행하면 최종적으로 사용자가 원하는 데이터가 나온다.
opencv에서는 효율적인 알고리즘 구현을 위해 머신러닝의 CNN(Convolutional Neural Network), RNN(Recurrent Neural Networks), SVM(Support Vector Machine)등을 적용한다.
디지털 이미지 프로세싱
디지털 이미지를 신호 처리하는 분야,
이미지에서 유의미한 정보를 얻기 위해 사용되는 일련의 알고리즘이다.
(영상처리 공부를 하면 위 여성사진을 자주 접할 것이다.)
- 전처리 알고리즘 : 이미지에서 불필요한 데이터를 줄이고 데이터를 정제한다. 즉, 효율적인 특징 검출을 위해 이미지 데이터를 수정하는 작업이다.
- 노이즈 및 디노이즈 : 노이즈란 알고리즘 상에서 원하지않는 데이터이다. 그리고 이 노이즈를 제거해주는 작업을 디노이즈라한다. Opencv에서 이미지를 갖고올 때, 비트맵(bitmap)형식이므로 어떤 이미지라도 노이즈는 항상 존재한다.
- 특징 및 유아성 검출 : 특징 검출(Feature Detection)은 이미지 내의 주요한 특징점을 검출하는 방법이다. 특징점 위치를 알려주거나 특징점을 부각한다. 이를 통해 객체를 검출 할 수 있다.
Python OpenCV 설치
opencv-python을 설치해야, python 언어로 라이브러리를 사용할 수 있으며 pip 명령어는 python을 설치해야 사용할 수 있는 shell 명령어이다.
pip install opencv-python
필자는 IDE(통합 개발 환경)를 VSCode에서 Python 3.6 버전과 opencv-python 4 버전을 사용중이다.
opencv 라이브러리 python에 불러오기
import cv2
print(cv2.__version__)
OpenCV는 4버전이지만. 불러올때에는 cv2로 import 해줘야한다.🙂
[Python 공식 홈페이지]
https://www.python.org/
[Opencv 공식 홈페이지]
https://opencv.org/
'기술, 나의 공부를 공유합니다. > [ML] Object Detection' 카테고리의 다른 글
OpenCV 이미지 변형 | 특징 검출과 데이터 해석을 위한 이미지 전처리 (0) | 2024.09.28 |
---|---|
OpenCV 동영상 I/O | 동영상 입력 & 출력 (0) | 2024.09.28 |
OpenCV 이미지 I/O | 이미지 입력 & 출력 (0) | 2024.09.28 |
OpenCV 시작하기 | 기계의 눈을 담당하는 라이브러리 (0) | 2024.09.28 |
컴퓨터 비전이란? | 기계의 눈을 담당하고있는 아이 (0) | 2024.09.28 |