Todos os posts de Cabelo

Avatar de Desconhecido

Sobre Cabelo

Sócio fundador da empresa OITI/NETi TECNOLOGIA fundada em 1996, teve seu primeiro contato com tecnologia em 1983 com 11 anos de idade na cidade de Bebedouro (interior de SP). Leva o Linux a sério, pesquisa e trabalha com biometria e visão computacional desde 1998. Experiência com biometria facial desde 2003, redes neurais artificiais e neurotecnologia desde 2009. Inventor da tecnologia CERTIFACE, da imagem Linux LiMobile e OSAR, mais de 79 palestras ministradas, 14 artigos impressos publicados, mais de 8 milhões de acessos nos 113 artigos publicados no Viva O Linux. Mantendor de projetos opensource, rpm oficiais e o guia FOCA Linux mobile (ePUb) desde 2010, Embaixador openSUSE, membro oficial: Viva O Linux desde 2003, openSUSE desde 2010, OWASP desde 2016 e Mozillians desde 2017.

Visão Computacional:Reconhecimento de figuras em tempo real.

Estou atualmente testando algorítimos de visão computacional com treinamento, reconhecimento de padrões e também de imagens em tempo real. Os resultados são animadores, mas existe muito longo caminho para evoluir… O próximo passo é abstrair as funções em C++ assim levando o desenvolvimento para o alto nível e obtendo ganhos de produtividade na produção de soluções mercadológicas. Vejam o resultado laboratorial no vídeo a seguir.

Vídeo captura com webcam via Browser (Windows/Linux).

webcam1Conversando com o  Estevão e  Leandro (Pipoca) na NETi TECNOLOGIA sobre os  procedimentos necessários para efetuar video captura ao vivo via web, resolvi buscar minhas pesquisas passadas e encontrei  o projeto FlashCam.

Este  projeto demonstrou conceitualmente que o flash é capaz de resolver com eficiência tal demanda.

Neste LINK podemos conferir a  sua funcionalidade.A seguir  o código encontrado em oldes.multimedia.cz

background 0.0.0
obj_video: video
myVid: place obj_video [at 5x5 scale 2] ;default size is 160x120
doAction [
    webcams: Camera.names.length
    if webcams = 0 [
        test: "No WebCam found"
    ] else if webcams > 1 [
        System.showSettings(3)
    ]

    myCam: Camera.get()
    myCam.setMode(160  120 12) ;(width height fps)
    myVid.attachVideo(myCam)

    ;motion detection:
    x: 0
    motion: func[mode][
        test: reform [
            "move" x  mode
            "bandwidth:" myCam.bandwidth
        ]
        x++
    ]
    myCam.setMotionLevel(30 100) ;(sensitivity, timeout)
    myCam.onActivity: func[mode][motion(mode)]
]

fnt_Courier: Font [name "_typewriter" bold]
txt_test: EditText test 320x18 [ReadOnly border Font [fnt_Courier 11]]
place txt_test at 5x245
showFrame
end

webcam2

Artigo: ARToolKit – Criando aplicativos de Realidade Aumentada

“Em 30/03/2009 disponibilizei um documento sobre o jogo Levelhead, um jogo de realidade aumentada.
Agora, neste documento apresento a ARToolKit, uma biblioteca criada para facilitar o desenvolvimento de aplicativos com o recurso de realidade aumentada. Ou seja, a sobreposição de objetos virtuais e tridimensionais gerados por computador junto ao ambiente real.”

Clique AQUI e leia o documento na íntegra.

Estampando a data de criação em imagens jpeg.

Comprei uma câmera digital DSC W220  da Sony.  Não  tenho nada a  reclamar  exceto a ausência da função Date/Time Stamp. Fique surpreso,  quando a  minha esposa pediu para  habilitar tal recurso.  Pois constatei que esta função não estava  disponível neste modelo :(

Procurando na internet, encontrei este script que  imprime a data e  hora  de criação na imagen. Adaptei o script  para imprimir apenas  a Data  (assim suprimindo  a hh:mm:ss para evitar problemas  como horário de verão entre outros). Veja o resultado a seguir:

bolo_DT

Disponibilizo  a versão do script que sofreram as minhas alterações:

#!/bin/sh
font="/usr/share/fonts/truetype/LiberationMono-Bold.ttf"
if [ $# -eq 0 ]
 then
 cat << _EOF_
USAGE: $0 file1 file2 ..., or
 $0 *.jpg, or
 $0 dir/*.jpg
 ...
_EOF_
exit
fi
while [ "$1" != "" ]; do
 if [ -d "$1" ]; then
 shift
 continue
 fi
 if [[ $1 == *_DT* ]]
 then
 echo "------  Skipping: $1"
 shift
 continue
 fi
 file=$1
 echo "######  Working on file: $file"
 filename=${file%.*}
 extension=${file##*.}
 output=${filename}_DT.${extension}
 dim=$(identify -format "%w %h" "$file")
 width=${dim%% *}
 height=${dim#* }
 data=`identify -format "%[EXIF:*]" $file | sed -r '/:DateTimeOriginal=/!d;s#.*=([0-9]{4}):([0-9]{2}):([0-9]{2}).*#\3/\2/\1#'`
 if [ $width -ge $height ]
 then
 pointsize=$((`expr $width / 30`))
 else
 pointsize=$((`expr $height / 30`))
 fi

 echo "        Width: $width, Height: $height. Using pointsize: $pointsize"
 convert "$file" -gravity SouthEast -font "$font" -pointsize $pointsize -fill white -annotate +$pointsize+$pointsize $data "$output"
 shift
done

exit 0

OpenSuse: Desabilitando o fsck na inicialização do sistema.

opensuseO  hd do meu notebook  possue mais  de 200 Gbytes,  durante  uma apresentação para os clientes,  o  fsck  me fez o favor  de justamente  naquele dia,  iniciar automaticamente  teste de  disco durante o processo de boot  (imagina o quanto esta operação demorou…).

Para evitar estas surpresas,  a seguir  os  comandos para desativar este teste durante o boot.

O comando abaixo, informa o  número maximo  de montagem pelo  sistema sem sofrer uma checagem forçada pelo fsck.

# tune2fs -l /dev/sda6 | grep "Maximum mount count"
Maximum mount count:      500

Já este comando a seguir,  informa o intervalo máximo de tempo sem sofrer uma checagem forçada pelo fsck.

#tune2fs -l /dev/sda6 | grep "Check interval"
Check interval:           5184000 (2 months)

Agora o comando para desabilitar  as  duas checagem acima:

# tune2fs -c 0 /dev/sda6
# tune2fs -i 0d /dev/sda6

Pronto, agora o sistema não  iniciará  o fsck durante o  boot ;-)