최근 수정 시각 : 2024-10-09 05:24:34

OpenCV

파일:OpenCV 로고.svg
개발 OpenCV team
라이선스 아파치 라이선스
최신 버전 4.10.0 (2024년 6월 3일 출시)
링크 파일:홈페이지 아이콘.svg 파일:GitHub 아이콘.svg 파일:GitHub 아이콘 화이트.svg

1. 개요2. 주요 알고리즘3. 업데이트 내역4. 관련 항목

[clearfix]

1. 개요

오픈 소스 컴퓨터 비전 라이브러리 중 하나로 크로스플랫폼과 실시간 이미지 프로세싱에 중점을 두었다. Windows, Linux, OS X( macOS), iOS, Android 등 다양한 플랫폼을 지원한다. 인텔에서 개발을 주도했으나, 현재 인텔은 손을 뗀 상태다.

본래 C 언어만 지원했지만 2.x 버전부터 스마트포인터 스타일을 활용하여 C++을 지원하기 시작했고, 현재는 C++을 공식으로 채택하고 있다. 과거 C 스타일(IplImage)의 코드는 현재 레거시로만 남아 있지만 실행해보면 여전히 잘 돌아간다. Python을 공식적으로 지원한 이래 현재는 관련 라이브러리를 검색하면 C++보다 파이썬이 먼저 나올 만큼 C++을 직접 활용하기보다 파이썬으로 랩핑하여 사용하는 추세이다. 특히 딥러닝 관련 연구가 파이썬으로 진행되면서 파이썬 라이브러리의 사용 빈도가 더욱 늘었다. 픽셀단위의 접근이 빈번하게 이루어진다면 당연히 C++을 써야겠지만, 단순한 매트릭스 연산에 머무는 경우 numpy와 cv2의 궁합을 이용하면 C++에 비해 월등히 편리하다. 버전별로 사용방법과 코딩 스타일이 달라지는 C++에 비해 라이브러리 인터페이스가 안정적인 것도 파이썬만의 장점이다. 그 밖에 C#은 다양한 랩핑 라이브러리가 있지만 OpenCVSharp이 많이 쓰인다. iOS와 Android도 지원하므로 사실상 Java Objective-C도 지원하는 셈이다. MATLAB 등의 프로그램들과 연계도 가능하다.

영상 관련 라이브러리로서 사실상 표준의 지위를 가지고 있다. 조금이라도 영상처리가 들어간다면 필수적으로 사용하게 되는 라이브러리. OpenCV 이전에는 MIL 등 상업용 라이브러리를 많이 사용했으나 OpenCV 이후로는 웬만큼 특수한 상황이 아니면 OpenCV만으로도 원하는 영상 처리가 가능하다. 기능이 방대하기 때문에 OpenCV에 있는 것만 다 쓸 줄 알아도 영상처리/머신러닝의 고수 반열에 속하게 된다. 조금 써봤다는 사람은 많지만 다 써봤다는 사람은 별로 없으며, 최신 버전의 라이브러리를 바짝 따라가는 사람은 영상 전공자 중에서도 드물다.

영상처리를 대중화시킨 1등 공신이다. 영상처리 입문 equals OpenCV 입문으로 봐도 좋을 정도이다. 예전에는 눈이 휘둥그래지는 신기한 영상처리 결과물들이 대중적으로 평범해지고 시시해진 것에는 수많은 영상 관련 연구와 더불어 OpenCV의 기여를 결코 무시할 수 없다. 누구나 영상 처리에 입문하여 웬만한 결과들은 코드 몇 줄로 구현이 가능해짐과 동시에, 원리도 모르고 분석도 못하고 그저 있는 함수만 가져다 쓰는 입문자가 많이 늘었다.

4.4.0 이하에서는 BSD 라이선스로 배포되었으나, 4.5.0부터는 아파치 라이선스 2.0으로 배포된다.

제공하는 함수들의 사용법에 대해서는 레퍼런스를 보거나 구글링을 해보자.

2. 주요 알고리즘

  • 이진화(binarization)
  • 노이즈 제거
  • 외곽선 검출(edge detection)
  • 패턴인식
  • 기계학습(machine learning)
  • ROI(Region Of Interest) 설정
  • 이미지 변환(image warping)
  • 하드웨어 가속

3. 업데이트 내역

https://opencv.org/releases/
배포일 버전
2024-06-03 4.10.0
2023-12-29 4.9.0
2023-09-27 4.8.1
2023-06-29 4.8.0
2022-12-29 4.7.0
2022-06-12 4.6.0
2021-12-30 4.5.5
2021-10-11 4.5.4
2021-10-11 3.4.16
2021-07-19 4.5.3
2021-07-19 3.4.15
2021-04-02 4.5.2
2021-04-02 3.4.14
2020-12-22 4.5.1
2020-12-22 3.4.13
2020-10-12 4.5.0
2020-10-12 3.4.12
2020-07-18 4.4.0
2020-07-18 3.4.11
2020-04-06 4.3.0
2020-04-06 3.4.10
2019-12-23 4.2.0
2019-12-23 3.4.9
2019-11-12 4.1.2
2019-11-12 3.4.8
2019-07-26 4.1.1
2019-07-26 3.4.7
2019-04-08 4.1.0
2019-04-08 3.4.6
2019-02-26 2.4.13.6
2018-12-22 4.0.1
2018-12-22 3.4.5
2018-11-18 4.0.0
2018-11-17 3.4.4
2018-11-12 4.0.0 rc
2018-10-16 4.0.0 beta
2018-09-20 4.0.0 alpha
2018-08-29 3.4.3
2018-07-04 3.4.2
2018-02-27 3.4.1
2018-02-26 2.4.13.6
2017-12-23 3.4.0
2017-12-22 2.4.13.5
2017-10-23 3.3.1
2017-10-12 2.4.13.4
2017-08-03 3.3.0
2017-08-01 2.4.13.3
2016-12-23 3.2.0
2016-12-16 2.4.13.2
2016-04-20 2.4.13
2015-12-18 3.1.0
2015-07-29 2.4.12
2015-06-03 3.0.0
2015-04-23 3.0.0 RC1
2015-02-25 2.4.11
2014-10-01 3.0.0 beta
2014-10-01 2.4.10
2014-08-14 3.0.0 alpha
2014-04-11 2.4.9
2012-05-19 2.4.0
2012-04-04 2.3.1
2011-07-04 2.3.0
2010-12-05 2.2
2010-04-06 2.1
2009-10-01 2.0
2006-10-19 1.0

4. 관련 항목