Use o código e tenha 10% de desconto!

Microsoft Kinect Crie aplicações interativas

Gabriel Schade Cardoso
Capa

Microsoft Kinect

Sumário

  • 1 - Antes de tudo
    • 1.1 - Sobre o autor
    • 1.2 - Agradecimentos
  • 2 - Introdução a interfaces naturais
    • 2.1 - Apresentando o Kinect
    • 2.2 - O que você encontrará neste livro
    • 2.3 - Antes de começar
  • 3 - Primeira aplicação com o sensor
    • 3.1 - Criando o projeto AuxiliarKinect
    • 3.2 - Criando a regra de nossa aplicação
    • 3.3 - Testando e depurando nossa aplicação
    • 3.4 - Continuando
  • 4 - Acelerômetro e eixo motorizado
    • 4.1 - Acelerômetro
    • 4.2 - Eixo motorizado
  • 5 - Fluxo de cores
    • 5.1 - Formatos
    • 5.2 - Aplicação
    • 5.3 - Refatoração
  • 6 - Fluxo de profundidade
    • 6.1 - Formatos
    • 6.2 - Entendendo um pouco mais sobre a profundidade
    • 6.3 - Aplicação
  • 7 - Fluxo de esqueleto do usuário
    • 7.1 - Esqueleto do usuário
    • 7.2 - Desenhando o esqueleto do usuário
  • 8 - Rastreando e identificando movimentos
    • 8.1 - Iniciando a estrutura base para detectar movimentos
    • 8.2 - Utilizando poses em nossa aplicação
    • 8.3 - Finalizando a estrutura base para detectar movimentos
    • 8.4 - Utilizando gestos em nossa aplicação
  • 9 - Interagindo com a aplicação através do KinectInteractions
    • 9.1 - Principais conceitos
    • 9.2 - Melhorando nossa aplicação com os controles do KinectInteractions
    • 9.3 - Utilizando o fluxo de interação
  • 10 - Utilizando os microfones do sensor
    • 10.1 - Inicializando a fonte de áudio e detectando a direção do som
    • 10.2 - Detectando comandos de voz
    • 10.3 - Conclusão
Capítulo2

Introdução a interfaces naturais

Formas inovadoras de interação com o usuário têm sido propostas por interfaces focadas ao paradigma de interface natural ao longo dos anos. Os softwares em diversas áreas não devem exigir que o usuário tenha grande conhecimento em computação para usá-lo, devem sempre buscar por simplicidade e facilidade.

A primeira interface com o usuário a aparecer foi a CLI (Command Line Interface) que utiliza comandos de entrada textuais específicas para desempenhar funções em um aplicativo, algo que exigia uma grande curva de aprendizado. Algum tempo depois surgiu a famosa GUI (Graphical User Interface) que utiliza janelas gráficas, mouse, botões e diversos outros componentes visuais, arrisco dizer que graças à GUI os computadores conseguiram atingir tantas pessoas e se popularizar tão rápido. Hoje em dia este conceito é o mais utilizado em sistemas operacionais e aplicações.

Devido à quantidade de usuários e demanda por aplicações cada vez mais intuitivas e simples surgiu o conceito de NUI (Natural User Interface) ou simplesmente interfaces naturais. Este tipo de interface foca em utilizar uma linguagem natural para a interação humana com o aplicativo, como gestos, poses e comandos de voz *.

2.1 - Apresentando o Kinect

Como proposta de interface natural inicialmente focada para a área de jogos, a empresa Microsoft em parceria com a empresa israelita PrimeSense construiu o sensor de movimentos que hoje é chamado de Kinect. O hardware do Kinect teve boa parte herdado pelo hardware do PrimeSense. Na figura * podemos visualizar o "irmão mais velho" do Kinect.

Sensor da PrimeSense
Figura 2.1: Sensor da PrimeSense


O Kinect certamente causou uma revolução na área de interações com jogos, pois a partir de agora, não é mais necessário utilizar um controle: o sensor capta movimentos e comandos de voz do usuário, abrindo um leque de possibilidades totalmente novo, utilizando a linguagem natural para a interação com os jogos.

Inicialmente o sensor Kinect era conhecido pelo codinome Projeto Natal, fazendo referência à cidade brasileira Natal, isso ocorreu devido ao fato de que um dos idealizadores do projeto foi um brasileiro chamado Alex Kipman *.

A figura * exibe o sensor concebido pela Microsoft, podemos notar que, apesar de um design mais elegante e robusto ele possui grandes semelhanças com o PrimeSense.

Microsoft Kinect
Figura 2.2: Microsoft Kinect


Em fevereiro de 2011, quatro meses após o sensor ter sido lançado no Brasil, a Microsoft anunciava o lançamento oficial de um SDK (software development kit) que pode ser obtido de forma gratuita. Com este kit de desenvolvimento a Microsoft permite que desenvolvedores possam criar aplicativos para computadores nas linguagens C++, C# e Visual Basic utilizando o hardware Kinect, ou seja, a limitação de que o Kinect era um dispositivo apenas para a área de jogos não era mais verdadeira *.

Atualmente existem três tipos diferentes de Kinect, iremos diferenciá-los pelos seguintes nomes: Kinect, Kinect for Windows e Kinect for Xbox 360. O sensor conhecido comercialmente como Kinect for Windows possui um hardware diferenciado, seus microfones possuem uma melhor qualidade e ele é capaz de rastrear o usuário mais próximo ao sensor ou quando ele estiver sentado. Explicaremos melhor sobre isso ao decorrer do livro.

A diferença mais importante que você deve ter em mente agora é entre o Kinect for Xbox 360 e os outros. Esta diferença trata-se do cabo de conexão do sensor, esta versão é vendida somente junto com um console Xbox 360 e seu cabo de conexão possui uma entrada específica, caso seu sensor seja deste tipo é necessário comprar um adaptador para conectar o Kinect em um computador, a figura * ilustra o cabo e o adaptador para este tipo de sensor.

Kinect for Xbox 360 e seu adaptador
Figura 2.3: Kinect for Xbox 360 e seu adaptador


O sensor possui um hardware que oferece diversos recursos que iremos explorar ao longo do livro, os principais são: Emissor de luz infravermelho, sensor RGB, sensor infravermelho, eixo motorizado e um conjunto de microfones dispostos ao longo do sensor. A figura * apresenta uma visão do interior do sensor com indicativos de onde estão localizados estes recursos *.

Kinect por dentro
Figura 2.4: Kinect por dentro


2.2 - O que você encontrará neste livro

Este livro é escrito para desenvolvedores que já possuem conhecimento referente aos principais conceitos relacionados à orientação a objetos e que já tiveram contato com à linguagem C#, para facilitar a compreensão de desenvolvedores menos experiêntes nessa linguagem será dado pequenas explicações sobre alguns conceitos da linguagem. Nos capítulos iniciais iremos desenvolver aplicações de testes e a partir do capítulo 4 iremos construir uma aplicação até o fim do livro. Estas implementações serão focadas em conceitos de interfaces naturais específicos utilizando um sensor Kinect. As aplicações criadas neste livro não irão levar em consideração padrões arquiteturais e melhorias de performance, será levado em consideração a clareza e facilidade de entendimento do leitor e todas as implementações terão seu código centralizado no repositório: https://github.com/gabrielschade/CrieAplicacoesInterativascomoMicrosoftKinect.

Ao longo deste livro nos capítulos mais avançados iremos construir uma aplicação utilizando todos os conceitos e recursos estudados, no fim do livro teremos uma aplicação completa utilizando o Kinect.

A grande meta deste livro é encorajar e iniciar o leitor a ingressar neste mundo desafiador (e muito divertido!) da programação seguindo os conceitos de NUI através do sensor Kinect, o que invariavelmente irá envolver bastante teoria e prática, de uma forma fluída, simples e divertida!

2.3 - Antes de começar

Antes de começarmos a falar da nossa primeira aplicação, é necessário que você tenha feito o download do SDK, ele é gratuito e pode ser baixado através deste link: http://www.microsoft.com/en-us/kinectforwindows/develop/developer-downloads.aspx. Além da ultima versão do SDK, também é aconselhável já fazer o download do developer toolkit e do Microsoft Speech Platform SDK para utilizarmos em nossas futuras implementações.

Neste livro utilizaremos o Visual Studio 2012 como IDE de desenvolvimento, caso você ainda não possua esta ferramenta, existe uma versão gratuita que pode ser baixada através do link: http://www.microsoft.com/visualstudio/eng/products/visual-studio-express-products.

É importante lembrar que caso você possua um Kinect for Xbox 360 é preciso que você tenha um adaptador para conectá-lo ao seu computador.

Dados do produto

Número de páginas:
181
ISBN:
978-85-66250-21-3
Data publicação:
08/2013

Compartilhe!

Compartilhe no Facebook Compartilhe no Twitter