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
OpenCV Logo with text svg version.svg
Autor Intel Corporation, Willow Garage, Itseez
Desenvolvedor Open Source Vision Fundation
Plataforma Multiplataforma
Versão estável 4.5.2 (2 de abril de 2021; há 6 meses)
Escrito em C/C++
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óriaEditar

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íveisEditar

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

Áreas de aplicaçãoEditar

Estrutura do OpenCVEditar

  • 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çãoEditar

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 externasEditar

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