OpenCV란?
opencv는 1999년 gray bradsky가 개발하기 시작하여 2000년에 처음 배포된 라이브러리입니다. vadim pisarevsky가 opencv 팀에 합류하여, 2005년에서는 달파 그랜드 챌린지에서 차량 부분에 우승하게 되는데 여기서 사용되었습니다. 이들과 willow garage의 지원으로 개발이 계속 진행되고 있으며 컴퓨터 비전과 머신러닝 관련 수 많은 알고리즘들을 지원하고 있습니다.
현재 opencv는 파이썬, 안드리오드 등 다양한 언어와 플랫폼에서 사용할수 잇도록 지원 중이며, cuda와 opencl을 이용하여 더 고속의 gpu 연산이 수행가능하게 되엇습니다.
opencv-python은 opencv의 파이썬 API로 최고의 opencv C++ API와 파이썬이라는 언어가 결합된것이라 할수 있겠습니다.
OpennCV-python
파이썬언 귀도 반 로섬이 처음 개발한 언어로 현재 간결함과 코드 가독성에 있어서의 강점으로 짧은 시간에 가장 대중적인언어가 되었습니다. 파이썬을 이용하면 개발다는 가독성이 저해되지 않은채로 짧은 줄로 아이디어들을 구현할수 있게 됩니다.
C와 C++같은 다른 언어들과 비교하면 파이썬은 느리지만, 파이썬의 가장 큰 특징은 C/C++을 추가할수 있다는 점인데, 이는 C/C++에서 좋은 계산성능 을 가진 코드들을 파이썬 래퍼를 이용해서 파이썬 모듈로서 사용할수 있습니다. 이 기능은 두가지 장점이 있는데, 첫째는 C/C++ 코드 만큼 빠르게 구현가능하다는 점이고, 두번째는 파이썬은 코딩하기 쉬운 장점이 있습니다. 그래서 실제로는 c++로 구현하고, 파이썬 래퍼를 이용해 그 코드를 사용하는것이 opencv-python의 동작 방법이라 할 수 있겠습니다.
대부분의 작업에서 넘파이가 사용됩니다. 넘파이는 수치 연산을 위한 고수준 최적화 라이브러리인데, 이들은 매트랩 문법들을 따르며, 모든 오픈시브이의 배열 구조들은 넘파이 배열로부터 변환된것이라 할수 있겠습니다. 여러분들이 넘파이로 할수있는 모든 연산들은 opencv에 추가할수도 있습니다. 이 외에도 Scipy, matplotlib같은 다른 라이브러리도 넘파이를 지원하고 있습니다.
그래서 Opencv-python은 컴퓨터 비전 문제를 빠르게 프로토타이빙하기 위한 적절한 도구라고 할수 있겠습니다.
OpenCV는 여러분이 ㅍㅣ료해요
opencv는 진취적인 오픈소스이다보니, 이 튜토리얼에서도 물론 기여할수 있는 모든 사람들을 환영합니다.
이 튜토리얼에서 잘못된 부분을 찾는다면 편하게 고쳐주세요.
오픈 소스를 처음 시작하는 사람에게는 좋은 훈련이 될겁니다. 그냥 openv를 깃헙에서 포크하고, 필요한 부분들을 고치고, opencv에 풀 리퀘스트를 요청해 주세요. opencv 개발자들이 여러분들이 작성한 요청들을 확인보고 피드백을 줄겁니다. 이후 리뷰어들에게 허가를 받아 통과하면 opencv에 머지될겁니다. 그러면 여ㄹㅓ 분들은 opencv의 컨트리뷰터가 되었습니다.
'로봇 > 영상' 카테고리의 다른 글
opencv-python 튜토리얼 - 3. 호랑나비 돌려보기 (0) | 2020.08.10 |
---|---|
opencv-python 튜토리얼 - 2. 이미지로 시작하기 (0) | 2020.08.10 |
opencv-python 튜토리얼 - 0. 개요 (0) | 2020.08.09 |
컴퓨터 비전 - 33. 광류와 물체 추적 (0) | 2020.08.01 |
컴퓨터 비전 - 32. 옵티컬 플로우 optical flow(=광류) (0) | 2020.08.01 |