OpenCV
OpenCV | |
---|---|
![]() | |
Autor | Intel Corporation, Willow Garage, Itseez |
Desenvolvedor | Open Source Vision Fundation |
Plataforma | Multiplataforma |
Versão estável | 4.9.0 (28 de dezembro de 2023; há 7 meses) |
Escrito em | C/C++/Python |
Sistema operacional | Multiplataforma |
Gênero(s) | biblioteca |
Licença | BSD |
Página oficial | opencv |
OpenCV (Open Source Computer Vision Library), originalmente, desenvolvida pela Intel, em 2000, é uma biblioteca multiplataforma, totalmente livre ao uso acadêmico e comercial, para o desenvolvimento de aplicativos na área de Visão computacional, bastando seguir o modelo de licença BSD Intel. O OpenCV possui módulos de Processamento de Imagens e Video I/O, Estrutura de dados, Álgebra Linear, GUI (Interface Gráfica do Usuário) Básica com sistema de janelas independentes, Controle de mouse e teclado, além de mais de 350 algoritmos de Visão computacional como: Filtros de imagem, calibração de câmera, reconhecimento de objetos, análise estrutural e outros. O seu processamento é em tempo real de imagens.
Esta biblioteca foi desenvolvida nas linguagens de programação C/C++. Também, dá suporte a programadores que utilizem Java, Python e Visual Basic e desejam incorporar a biblioteca a seus aplicativos. A versão 1.0 foi lançada no final de 2006 e a 2.0 foi lançada em setembro de 2009.
História
Oficialmente lançado em 1999, o projeto OpenCV foi uma proposta da Intel Research de melhorar aplicações de uso intensivo de processamento, sendo parte de uma série de projetos que incluíam Ray tracing e monitores 3D. Os principais contribuidores do projeto eram da Intel Russia, assim como o time de desempenho de bibliotecas da Intel. No início do projeto, os objetivos foram definidos como:
- Avançar a pesquisa em visão computacional por prover não apenas código aberto mas otimizado para tarefas básicas de visão, de modo que o código pudesse ser prontamente lido e transferível.
- Avançar aplicações baseadas em visão computacional por fazer código portátil e otimizado disponível de graça, com uma licença que não requer que a aplicação seja de código aberto.
Plataformas compatíveis
OpenCV pode funcionar sobre Android,[1] BlackBerry 10,[2] FreeBSD, iOS,[3] Linux, Maemo,[4] OpenBSD, OS X e Windows.
Áreas de aplicação
- Humano-Computador Interface (HCI)
- Identificação de objetos
- Sistema de reconhecimento facial
- Reconhecimento de movimentos
- Gravação de vídeos
- Robôs móveis
- Reconstrução 3D
- Realidade virtual
- Realidade aumentada
- Realidade mista
Estrutura do OpenCV
- cv — Módulo das principais funcionalidades e algoritmos de Visão Computacional do OpenCV.
- cvaux — Módulo com algoritmos de Visão, ainda está em fase experimental.
- cxcore — Módulo de Estrutura de Dados e Álgebra Linear.
- highgui — Módulo de Controle de Interface e dispositivos de entrada.
- ml — Módulo de “Machine Learning” é um módulo processador de imagem que utiliza algoritmos com aprendizagem de maquina.
- dnn — Módulo de “Deep Learning” é um módulo processador de imagem que utiliza algoritmos com aprendizagem de máquina profundo.
- ed — Manual de estrutura de dados e operações.
Linguagem de programação
O OpenCV é escrito em C++ e sua interface principal é em C++, mas ainda mantém uma interface C mais antiga, menos abrangente, embora extensa. Todos os novos desenvolvimentos e algoritmos aparecem na interface C++. Existem ligações em Python (por exemplo, métodos OpenCV cv.line,[5] OpenCV cv2.cvtcolor,[6] OpenCV cv2.circle[7]), Java e MATLAB/OCTAVE. A API para essas interfaces pode ser encontrada na documentação online.[8]
Wrappers em várias linguagens de programação foram desenvolvidos para incentivar a adoção por um público mais amplo. Na versão 3.4, as ligações JavaScript para um subconjunto selecionado de funções OpenCV foram lançadas como OpenCV.js, para serem usadas em plataformas da web.[9]
Ligações externas
- OpenCV Documentation Wiki
- Great summary cheat sheet sumario de programação
- Site Oficial OpenCV
Referências
- ↑ Android port: http://opencv.willowgarage.com/wiki/AndroidExperimental Arquivado em 26 de novembro de 2012, no Wayback Machine.
- ↑ BlackBerry 10 (partial port): https://github.com/blackberry/OpenCV
- ↑ iPhone port: http://www.eosgarden.com/en/opensource/opencv-ios/overview/
- ↑ Maemo port: https://garage.maemo.org/projects/opencv
- ↑ «OpenCV cv.line». 11 de outubro de 2021
- ↑ «OpenCV cv2.cvtcolor». 11 de outubro de 2021
- ↑ «OpenCV cv2.circle». 11 de outubro de 2021
- ↑ OpenCV C interface: http://docs.opencv.org
- ↑ Introduction to OpenCV.js and Tutorials
- BRADSKY, G. R.; PISAREVSKY, V.; BOUGUET, J. Learning OpenCV: Computer Vision with the OpenCV Library. Springer, 2006.
- LAMCE/UFRJ(link para página inexistente)
- University of Leeds