OpenCV

Open Source Computer Vision Library

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.

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á 10 meses)
Escrito em C/C++/Python
Sistema operacional Multiplataforma
Gênero(s) biblioteca
Licença BSD
Página oficial opencv.org

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

editar

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

editar

OpenCV pode funcionar sobre Android,[1] BlackBerry 10,[2] FreeBSD, iOS,[3] Linux, Maemo,[4] OpenBSD, OS X e Windows.

Áreas de aplicação

editar

Estrutura do OpenCV

editar
  • 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

editar

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

editar

Referências

  • 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