OpenCV는 Open Source Computer Vision Library의 약어로 오픈소스 컴퓨터 비전 라이브러리입니다. 실시간 영상 처리에 중점을 둔 영상 처리 라이브러리로서, Apache 2.0 라이선스 하에 배포되어 학술적 용도 외에도 상업적 용도로도 사용할 수 있습니다. 또한, 기업에서도 코드를 사용하고 수정할 수 있습니다. 인텔(Intel)에서 최초로 개발했으며, 크로스 플랫폼(Cross-Platform)으로 설계됐습니다.

C/C++, 파이썬(Python), 자바(Java) 등의 프로그래밍 언어와 윈도우, macOS, 리눅스, 안드로이드, iOS, FreeBSD 등의 운영체제를 공식적으로 지원합니다. C#에서는 OpenCvSharp이라는 라이브러리의 형태로 OpenCV를 사용할 수 있는데, OpenCvSharp은 .NET Framework 기반의 크로스 플랫폼 래퍼입니다.

OpenCV는 계산 효율성실시간 처리에 중점을 두고 설계됐습니다. 500가지가 넘는 알고리즘이 최적화돼 있으며 이 알고리즘을 구성하거나 지원하는 함수는 알고리즘 수의 10배가 넘습니다. 물체 인식, 얼굴 인식, 제스처 인식을 비롯해 자율주행 자동차, OCR 판독기, 불량 검사기 등에 활용할 수 있습니다. GPU 가속 모듈을 지원해서 고해상도 이미지에 대해서도 정확하고 정교한 알고리즘을 실시간으로 처리할 수 있습니다. 또한, 컴퓨터 비전은 머신러닝과도 밀접하게 연관돼 있어 머신러닝과 관련된 모듈도 포함돼 있습니다.

OpenCV는 컴퓨터 비전과 관련된 전문적인 지식, 이론, 수학적 지식을 깊게 알지 못해도 OpenCV에서 지원하는 함수를 통해 컴퓨터 비전에 손쉽게 활용할 수 있습니다. OpenCV가 등장하면서 비전 전문가가 아니어도 컴퓨터 비전을 활용할 수 있게 되어 학생, 연구원, 프로그래머 등 많은 사람들이 사용하고 있습니다. OpenCV는 영상 처리가 필요한 프로그램이라면 가히 필수적으로 사용하게 되는 라이브러리입니다.

Python

Learn More

Javascript

Learn More

Java Eclipse

Learn More

Android

Learn More

Etc.

Learn More

C++ OpenCV는 소스포지로 이동하여 최신 버전의 OpenCV를 설치할 수 있습니다. 소스포지에서 다양한 버전의 파일을 다운로드할 수 있으며, 원하는 버전의 파일을 다운로드하고 파일의 압축을 해제합니다. 정상적으로 파일이 다운로드 됐다면 원할한 빌드를 위해 OpenCV의 다운로드 경로를 환경 변수에 등록합니다. 환경 변수 등록 후, CMake를 설치합니다. 소스포지에서 다운로드한 파일들을 CMake를 사용해 빌드합니다. OpenCV의 소스 경로와 빌드 경로를 지정하고, 솔루션 파일을 빌드합니다. 자세한 사항은 OpenCV 공식 홈페이지에서 확인하실 수 있습니다.

C# OpenCvSharp은 NuGet 패키지를 사용해 설치할 수 있습니다. 윈도우의 경우 비주얼 스튜디오 2017과 비주얼 C++ 2017 재배포 가능 패키지가 필요합니다. 우분투 리눅스의 경우 .NET Core 2.0 이상 버전과 Mono가 필요합니다. OpenCvSharp은 네이티브 바인딩(Native binding) 을 통해 사용할 수 있습니다. 현재 윈도우와 우분투 18.04에 대해서는 자동으로 바인딩을 처리하는 패키지가 제공되므로 이 패키지를 활용해 손쉽게 설치를 진행할 수 있습니다. 윈도우와 우분투의 경우 NuGet 패키지 관리자를 통해 설치합니다. 자세한 사항은 OpenCvSharp GitHub에서 확인하실 수 있습니다.

Python OpenCV는 pip를 이용해 설치할 수 있습니다. pip는 파이썬으로 작성된 패키지를 설치하는 데 사용되며, 명령줄 인터페이스만으로도 손쉽게 패키지를 설치할 수 있습니다. 명령줄에서 "pip install opencv-python" 구문을 사용해 Python OpenCV를 설치합니다. Python OpenCV 패키지는 Numpy 패키지에 의존적이므로 Numpy 패키지가 자동으로 설치됩니다. 자세한 사항은 Python OpenCV GitHub에서 확인하실 수 있습니다.


자세한 정보는 OpenCV 홈페이지 또는 OpenCV GitHub에서 확인해보실 수 있습니다.