OpenCV
OpenCV| 원저작자 | Intel Corporation, Willow Garage, Itseez |
|---|---|
| 초기 릴리즈 | 2000년 6월, 전 |
| 안정된 릴리스 | 4.5.5 / 2021년 12월 , 전( |
| 저장소 | |
| 기입처 | C/C++ |
| 운영 체제 | 크로스 플랫폼 |
| 크기 | 최대 200 MB |
| 유형 | 도서관 |
| 면허증. | Apache 라이선스 |
| 웹 사이트 | opencv |
OpenCV(Open Source Computer Vision Library)는 주로 실시간 컴퓨터 [1]비전을 목적으로 하는 프로그래밍 기능의 라이브러리입니다.원래는 인텔에 의해 개발되었지만, 나중에 Willow Garage, Itseez(이후 인텔에 인수됨[2])에 의해 지원되었습니다.라이브러리는 크로스 플랫폼이며 오픈 소스 Apache 2 라이센스에 따라 무료로 사용할 수 있습니다.2011년부터 OpenCV는 GPU 액셀러레이션을 통해 실시간 작업을 지원합니다.[3]
역사
1999년에 정식으로 개시된 OpenCV 프로젝트는, CPU 부하가 높은 애플리케이션을 진화시키기 위한 인텔 리서치 이니셔티브였습니다.실시간 레이트레이스나 3D 디스플레이 [4]월등의 일련의 프로젝트의 일환입니다.이 프로젝트의 주요 공헌자에는 인텔 러시아 최적화 전문가와 인텔의 퍼포먼스 라이브러리 팀이 포함되어 있습니다.OpenCV 초기 프로젝트의 목표는 다음과[5] 같습니다.
OpenCV의 첫 번째 알파 버전은 2000년 IEEE Computer Vision and Pattern Recognition에서 일반에 공개되었으며 2001년부터 2005년까지 5개의 베타 버전이 출시되었습니다.첫 번째 1.0 버전은 2006년에 출시되었습니다.버전 1.1 "프리 릴리즈"는 2008년 10월에 출시되었습니다.
OpenCV의 두 번째 주요 릴리스는 2009년 10월에 있었습니다.OpenCV 2에는 C++ 인터페이스에 대한 주요 변경사항이 포함되어 있습니다.이는 보다 쉽고 안전한 패턴, 새로운 기능 및 성능 측면(특히 멀티코어 시스템)에서 기존 패턴에 대한 보다 나은 구현을 목표로 합니다.현재 공식 발매는 6개월마다[6] 이루어지며 개발은 상업 기업의 지원을 받는 러시아 독립 팀에 의해 이루어집니다.
2012년 8월 OpenCV 지원은 비영리 재단인 [8]OpenCV.org에 의해 인수되었습니다.이 재단에서는 개발자와[7] 사용자 사이트를 운영하고 있습니다.
2016년 5월 인텔은 OpenCV의 [10]주요 개발사인 Itseez를 [9]인수하는 계약을 체결했습니다.
2020년 7월 OpenCV는 Spatial AI를 지원하는 OpenCV에 추가된 일련의 하드웨어 모듈인 OpenCV AI Kit에 대한 Kickstarter 캠페인을 발표하고 시작했습니다.
적용들
OpenCV의 애플리케이션 영역은 다음과 같습니다.
- 2D 및 3D 기능 툴킷
- 에고모션 추정
- 얼굴인식시스템
- 제스처 인식
- 인간과 컴퓨터의 상호작용(HCI)
- 모바일 로보틱스
- 동작 이해
- 오브젝트 검출
- 세그먼트화 및 인식
- 스테레오비전: 2대의 카메라로 심도감지
- 움직임으로부터의 구조(SFM)
- 모션 트래킹
- 증강현실
상기 영역의 일부를 지원하기 위해 OpenCV에는 다음 내용을 포함하는 통계 머신러닝 라이브러리가 포함되어 있습니다.
- 부스팅
- 의사결정 트리 학습
- 경사 부스트 트리
- 기대 최대화 알고리즘
- k-param 네이버알고리즘
- Naigive Bayes 분류자
- 인공신경망
- 랜덤 포레스트
- 서포트 벡터 머신(SVM)
- 심층 뉴럴 네트워크(DNN)[11]
프로그래밍 언어
OpenCV는 C++로 쓰여져 프라이머리 인터페이스는 C++로 되어 있습니다만, 아직 포괄성은 떨어지지만 광범위한 오래된 C 인터페이스를 유지하고 있습니다.모든 새로운 개발 및 알고리즘이 C++ 인터페이스에 표시됩니다.Python, Java 및 MATLAB/OCTAVE에는 바인딩이 있습니다.이러한 인터페이스의 API는 온라인 [12]매뉴얼에 기재되어 있습니다.여러 프로그래밍 언어로 된 래퍼는 더 많은 독자들에게 채택을 장려하기 위해 개발되었습니다.버전 3.4에서는 OpenCV 함수의 선택된 서브셋에 대한 JavaScript 바인딩이 웹 [13]플랫폼에 사용되는 OpenCV.js로 출시되었습니다.
하드웨어 액셀러레이션
라이브러리는 인텔의 Integrated Performance Primitives를 시스템에서 발견하면 자체 최적화된 루틴을 사용하여 고속화합니다.
CUDA 기반의 GPU 인터페이스는 2010년 [14]9월부터 도입되고 있습니다.
OpenCL 기반 GPU 인터페이스는 2012년 [15]10월부터 진행 중이며 버전 2.4.13.3의 매뉴얼은 [16]docs.opencv.org에서 찾을 수 있습니다.
OS 지원
OpenCV는 다음 데스크톱 운영 체제에서 실행됩니다.Windows, Linux, macOS, FreeBSD, NetBSD, OpenBSD.OpenCV는 다음 모바일 운영 체제에서 실행됩니다.Android, iOS, Maemo,[17] BlackBerry 10.[18]사용자는 SourceForge에서 정식 릴리스를 얻거나 GitHub에서 [19]최신 소스를 가져올 수 있습니다.OpenCV는 CMake를 사용합니다.
「 」를 참조해 주세요.
- AForge.NET, 공통 언어 런타임용 컴퓨터 비전 라이브러리)NET Framework 및 Mono).
- ROS(로봇 운영 체제)OpenCV는 ROS에서 기본 비전 패키지로 사용됩니다.
- VXL, C++로 작성된 대체 라이브러리입니다.
- CVIPtools는 완전한 GUI 기반의 컴퓨터 비전 및 이미지 처리 소프트웨어 환경이며 COM 기반의 DLL인 C 함수 라이브러리와 알고리즘 개발 및 배치 처리를 위한 2개의 유틸리티 프로그램을 갖추고 있습니다.
- OpenNN은 C++로 작성된 오픈 소스 뉴럴 네트워크 라이브러리입니다.
- 자유 및 오픈 소스 소프트웨어 패키지 목록
레퍼런스
- ^ Pulli, Kari; Baksheev, Anatoly; Kornyakov, Kirill; Eruhimov, Victor (1 April 2012). "Realtime Computer Vision with OpenCV". Queue. 10 (4): 40:40–40:56. doi:10.1145/2181796.2206309.
- ^ 인텔은 ITseez를 인수:https://opencv.org/intel-acquires-itseez.html
- ^ "CUDA". opencv.org. Retrieved 2020-10-15.
- ^ Adrian Kaehler; Gary Bradski (14 December 2016). Learning OpenCV 3: Computer Vision in C++ with the OpenCV Library. O'Reilly Media. pp. 26ff. ISBN 978-1-4919-3800-3.
- ^ Bradski, Gary; Kaehler, Adrian (2008). Learning OpenCV: Computer vision with the OpenCV library. O'Reilly Media, Inc. p. 6.
- ^ OpenCV 변경 로그: http://code.opencv.org/projects/opencv/wiki/ChangeLog 2013-01-15 Wayback Machine에서 아카이브 완료
- ^ OpenCV Developer Site: http://code.opencv.org 아카이브에서 2013-01-13 아카이브 완료.오늘
- ^ OpenCV 사용자 사이트: http://opencv.org/
- ^ "Intel Acquires Computer Vision for IOT, Automotive Intel Newsroom". Intel Newsroom. Retrieved 2018-11-26.
- ^ "Intel acquires Russian computer vision company Itseez". East-West Digital News. 2016-05-31. Retrieved 2018-11-26.
- ^ OpenCV: http://opencv.org/opencv-3-3.html
- ^ OpenCV C 인터페이스: http://docs.opencv.org
- ^ OpenCV.js 소개 및 튜토리얼
- ^ Cuda GPU 포트: http://opencv.org/platforms/cuda.html Wayback Machine에서 2016-05-21 아카이브 완료
- ^ OpenCL 발표: http://opencv.org/opencv-v2-4-3rc-is-under-way.html
- ^ OpenCL 가속 Computer Vision API 레퍼런스: http://docs.opencv.org/modules/ocl/doc/ocl.html
- ^ Maemo 포트: https://garage.maemo.org/projects/opencv
- ^ BlackBerry 10(표준 포트): https://github.com/blackberry/OpenCV
- ^ "GitHub - opencv/Opencv: Open Source Computer Vision Library". 21 May 2020.