O que é libhairCAPTURE?
Transcrição
O que é libhairCAPTURE?
libhairCAPTURE ALESSANDRO DE OLIVEIRA FARIA http://lhaircapture.sourceforge.net AGRADECIMENTOS: Augusto Campos – BRLinux Lucas De Mattos Martinez – LinuxDicas Fábio Berbert de Paula Viva O Linux Rubens Queiroz – DicasL Marcio Elias – Linha de Código Gisele Andrea Basilio Faria Esposa ALESSANDRO DE OLIVEIRA FARIA (CABELO) Sócio-proprietário – NETi TECNOLOGIA Consultor em reconhecimento facial Analista de Negócios Levando o Linux a sério desde 1998 Projetos biométricos (Face e Impressão Digital) Colunista técnico em ● ● ● Linha de Código - http://www.linhadecodico.com.br Viva O Linux - http://www.vivaolinux.com.br Tecnociencia - http://tecnociencia.com.br Projetos Open-source: ● HairCAPTURE - http://lhaircapture.sourceforge.net ● IPCMSG - http://ipcmsg.codigolivre.orb.br ● EMUKEYPRESS - http://emukeypress.codigolivre.org.br ● OPENLOGITECH - http://openlogitech.codigolivre.org.br ● LCD - http://lcd.codigolivre.org.br Apresentação ●OOOOO Propriedades OOOO Métodos OOOOOOO Exemplo OOO O que é libhairCAPTURE? A hairCapture é uma Biblioteca de objetos escrita em C++, criada para facilitar o desenvolvimento de aplicações que manipulam vídeo ao vivo. Os métodos trabalham com chamadas da API's V4L (Video for Linux, ou vídeo para Linux) versão 1. Os recursos da biblioteca SDL foram utilizados para proporcionar recursos visuais junto à exibição do vídeo ao vivo. O desenvolvimento da hairCAPTURE começou em dezembro de 2004. A biblioteca surgiu quando Alessandro de Oliveira Faria, conhecido como Cabelo, portou para o Linux um sistema de reconhecimento facial, inicialmente criado para rodar em Windows. Ao perceber a ausência de material nessa área para Linux, Cabelo decidiu disponibilizar suas bibliotecas para a comunidade, criando então a hairCAPTURE. Apresentação ●●OOOO Propriedades OOOO Métodos OOOOOOO Exemplo OOO Projeto que deu origem a biblioteca hairCAPTURE Apresentação ●●●OOO Propriedades OOOO Métodos OOOOOOO Exemplo OOO O que é V4L ( Video for Linux )? V4L é API para interface com dispositivos de vídeo captura. O primeiro device de captura com suporte a Linux(~1997), foram as placas baseadas no chipset bt848/878 Conexant. (Osprey,Pinnacle, PixelView ...) Surgiu por volta de 1998 (Alan Cox), incorporada ao Kernel 2.1.x. Assim substituindo várias interfaces desenvolvidas. Placa de captura Driver do dispositivo API V4L Aplicação Apresentação ●●●●OO Propriedades OOOO Métodos OOOOOOO Exemplo OOO Por que o nome hairCapture? Por que utilizar a biblioteca hairCAPTURE? - Fácil utilização; - Produtividade; - Fácil adaptação e/ou modificação. Apresentação ●●●●●O Propriedades OOOO Métodos OOOOOOO Exemploo OOO Demonstração Instalação Funcionalidade Documentação Apresentação ●●●●●● Propriedades OOOO Métodos OOOOOOO Exemplo OOO Propriedades: xText = 0; yText = 110; size = 12; width = 320; height = 240; depth = 24; size = 12; colorFont = {0,255,0}; fontName Apresentação ●●●●●● = "VeraMono.ttf"; Propriedades ●OOO Métodos OOOOOOO Exemplo OOO Propriedades: debug = true; AudioEnabled = false; device = "/dev/video"; SRCcolorTransparent = {255,0,255}; Apresentação ●●●●●● Propriedades ●●OO Métodos OOOOOOO Exemplo OOO Propriedades: KeyZoomOutOn = SDLK_SPACE; KeyZoomOutOff = SDLK_c; KeyFullScreeen = SDLK_f; Apresentação ●●●●●● KeySaveFrame = SDLK_s; KeyQuit = SDLK_q; Propriedades ●●●O Métodos OOOOOOO Exemplo OOO Propriedades: SDL_Surface *text_surface; SDL_Surface *draw_surface; SDL_Surface *photo_surface; SDL_Surface *screen; SDL_Surface *offscreen; Apresentação ●●●●●● Propriedades ●●●● Métodos OOOOOOO Exemplo OOO Métodos: video1.ColorBit(24); Define o valor da profundidade de cor da janela ou tela de exibição do vídeo. video1.Resolution(320,240); Define o valor da resolução da janela ou tela de exibição do vídeo. Apresentação ●●●●●● Propriedades ●●●● Métodos ●OOOOOO Exemplo OOO Métodos: video1.SetDevice("/dev/video0"); Define o dispositivo de vídeo a ser utilizado. video1.AudioEnabled = true; Habilita ou desabilita o áudio do dispositivo. Apresentação ●●●●●● Propriedades ●●●● Métodos ●●OOOOO Exemplo OOO Métodos: video1.SetFont("VeraMono.ttf"); Especifica a fonte TrueType a ser utilizada no texto inserido pelo método WriteText. video1.SetTransparent(255,0,255); Especifica a transparência na camada de imagem. Apresentação ●●●●●● Propriedades ●●●● Métodos ●●●OOOO Exemplo OOO Métodos: video1.Open(); Inicializa o dispositivo de vídeo captura. video1.InicializeWin(); Inicializa a janela ou tela de exibição do vídeo ao vivo. Apresentação ●●●●●● Propriedades ●●●● Métodos ●●●●OOO Exemplo OOO Métodos: video1.LoadBMP("tux.bmp"); Carrega sobre o vídeo a imagem especificada no padrão bitmap. video1.Line(20,215,320,215,0,255,0); Traça uma linha sobre o vídeo ao vivo nas coordenadas e cores especificadas. Apresentação ●●●●●● Propriedades ●●●● Métodos ●●●●●OO Exemplo OOO Métodos: video1.WriteText(20,220,"USE LINUX!!!"); Escreve um texto sobre o vídeo ao vivo. video1.Show(); Instância uma thread para exibir o vídeo ao vivo. Apresentação ●●●●●● Propriedades ●●●● Métodos ●●●●●●O Exemplo OOO Métodos: video1.SavePPM("the-end.ppm"); Salva em disco o quadro atual no formato PPM (Portable Pixel Map) com o nome especificado. video1.WaitForVideo(); Aguarda a thread de exibição do vídeo ao vivo ser finalizada. Apresentação ●●●●●● Propriedades ●●●● Métodos ●●●●●●● Exemplo OOO chega de conversa! Exemplo prático: Apresentação ●●●●●● Propriedades ●●●● Métodos ●●●●●●● Conclusão ●OOO http://libhaircapture.codigolivre.org.br/ http://lhaircapture.sourceforge.net/ Apresentação ●●●●●● Propriedades ●●●● Métodos ●●●●●●● Conclusão ●●O Apresentação ●●●●●● Propriedades ●●●● Métodos ●●●●●●● Conclusão ●●●