Dispositivos de vídeo-captura ganham inteligência em função de algoritmos de visão computacional. Para tratar deste assunto, tal segmento demanda conhecimentos matemáticos, domínio com rotinas de processamentos de imagens e sólidos fundamentos sobre manipulação da API V4L2. Neste documento, veremos como utilizar todos estes conceitos com soluções Open Source.
As bibliotecas de visão computacional (mais especificamente, a biblioteca OpenCV), apresentam:
Recursos de manipulação de imagem
Entrada e saída de vídeo
Cálculo de matriz
Álgebra linear
Morfologia matemática
Análise estrutural
Reconhecimento de objeto
Gráficos primitivos
Como se não fosse o suficiente, a biblioteca OpenCV abstrai a utilização de técnicas de programação multinuclear como OpenMP e TBB da Intel, como também a utilização de GPU.
Para detectar objetos, é preciso utilizar algoritmos que obtêm características invariantes no aspecto de rotação e escala com relação ao ponto de observação do dispositivo de captura. Para que, somente então, posteriormente utilizarmos esta abstração para comparação entre duas imagens.
A imagem acima demonstra na íntegra o problema resolvido de reconhecimento das características invariantes. Ressalto que as soluções propostas neste documento são apenas uma de inúmeras maneiras de equacionar tal tarefa computacional.
Programação multinuclear e GPU
A programação paralela é obrigatório para obter o melhor desempenho em equipamentos atuais multicores. Algumas sugestões são as bibliotecas OpenMP ou TBB (Threading Building Blocks) da Intel, que encarregam-se da utilização do software ao ambiente baseado na quantidade de núcleos.
Para continuar a interminável corrida no código perfeito, para obter leveza e suavidade em sistemas de visão computacional junto à programação paralela, é saudável utilizar o uso orquestrado das GPU e CPUs.
Atualmente existem APIs e/ou SDK da NVIDIA, Intel e ATI/AMD (mais informações em algumas edições na Linux Magazine, ou aqui no Viva o Linux).
[8] Comentário enviado por nsoluiz em 19/01/2013 - 10:11h
tche
bom dia
sei que o teu tempo é pouco, vou tentar ser direto…
1 – desculpa postar isso aqui, sei que nao é o lugar correto, se responder fico muito agradecido…
2 – comprei um pentv da infinitoo(http://www.infinitoweb.com.br/sistema/ck/files/downloads/infinito_pentv_driver.zip), gostaria de saber de ti de tem como um ubuntu desktop 12.10 ser um servidor de Streaming de tv, pode fazer um tutorial eu dar as dicas?
3 – não que eu deixei por ultimo, pra que tu aches que estou enchendo o teu ego, mas posso te garantir, tu é um bagal de 1ª estancia, muito bom o conteudo que tu posta no blog e no viva o linux, parabens.
muito obrigado pela atenção e desculpas novamente.