Cardoso Gabriel Schade - Microsoft Kinect: Crie aplicações interativas стр 3.

Шрифт
Фон

A primeira coisa que temos que fazer é criar nosso projeto do tipo WPF Appli-

cation no Visual Studio e adicionar a referência para o SDK do Kinect.

Casa do Código

WPF Applications

Windows Presentation Foundation ou simplesmente WPF é um tipo

de projeto proposto no Visual Studio para aplicações desktop para Win-

dows, apesar do Kinect não se limitar a aplicações WPF, existem diver-

sas ferramentas inclusas no SDK que nos auxiliam neste tipo de projeto.

Para saber mais sobre WPF acesse: http://msdn.microsoft.com/pt-br/

/library/ms754130.aspx

Para adicionar a referência para o SDK do Kinect basta pressionar o botão direito do mouse sobre o seu projeto e selecionar a opção Add Reference.... Será aberta uma janela para selecionar o assembly que deseja adicionar em seu projeto, pesquise pela palavra Kinect, selecione o assembly Microsoft.Kinect e pressione o botão OK, conforme ilustra a figura 2.1. Com isso nosso projeto já está preparado para a implementação, vamos codificar!

Figura 2.1: Adicionando referência ao assembly Microsoft.Kinect

8

Casa do Código

Capítulo 2. Primeira aplicação com o sensor

2.1

Criando o projeto AuxiliarKinect

Antes da implementação de qualquer regra é necessário implementar o processo de configuração do sensor Kinect que está conectado ao computador, não iremos tratar agora cenários de exceção, então para que uma situação inesperada não ocorra em sua aplicação, tenha certeza que seu Kinect está devidamente conectado ao seu computador e à energia.

Para facilitar a configuração do sensor para as próximas aplicações iremos criar um projeto separado para nos auxiliar em algumas tarefas comuns do Kinect. Para fazer isso abra uma nova instância

do Visual Studio e crie um projeto do tipo Class Library. Este projeto irá gerar nossa DLL que conterá diversas funções do Kinect, vamos chamá-lo de AuxiliarKinect.

Como descrevemos anteriormente neste projeto também é necessário a referên-

cia para o SDK do Kinect. Note que no projeto já existe uma classe chamada Class1, iremos excluí-la. Pressione o botão direito sobre o projeto e crie uma nova pasta chamada FuncoesBasicas.

Antes de começarmos a implementar é importante ter em mente que não existe

limitação no que diz respeito à quantidade de sensores conectados em seu compu-

tador simultaneamente. É possível identificar os diferentes sensores por um identi-ficador único que cada sensor possui, mas neste livro iremos focar no cenário mais comum, onde as aplicações utilizam apenas um sensor.

Pensando neste cenário, a Microsoft criou na classe KinectSensor a propriedade chamada KinectSensors. Esta propriedade é uma coleção de objetos do tipo KinectSensor, ou seja, todos os sensores conectados no computador serão listados nesta coleção. Tendo conhecimento desta propriedade e sabendo que possa existir mais de um sensor, é fácil perceber que é necessário fazer uma busca para identificar quantos sensores estão conectados no computador. Este código pode ser escrito de maneira muito simples através de uma expressão lambda.

9

2.1. Criando o projeto AuxiliarKinect

Casa do Código

Expressões Lambdas

Expressão lambda é um recurso muito poderoso disponível na lin-

guagem C#, trata-se de uma notação para escrita de funções anônimas

que podem realizar as mais diversas tarefas, como suporte para a lingua-

gem de consulta LINQ e escrita simplificada de métodos recursivos, por

exemplo. Para mais informações sobre expressões lambda acesse o link:

http://msdn.microsoft.com/pt-br/library/vstudio/bb397687.aspx

Sabendo que utilizaremos apenas um sensor na aplicação podemos fazer uma

busca na coleção de sensores para obtermos o primeiro Kinect conectado ao com-

putador (que neste caso sempre será o único). Após encontrar o sensor é preciso inicializá-lo através do método Start da classe KinectSensor. Feito a inicialização iremos forçar o Kinect a manter o eixo motorizado do sensor de acordo com uma informação parametrizada. É importante saber que, para alterar o ângulo do

eixo motorizado do sensor, é necessário inicializá-lo antes, caso contrário uma ex-ceção será disparada.

Agora criaremos a classe

InicializadorKinect dentro da pasta Fun-

coesBasicas. Além de ter adicionado a referência ao assembly Microsoft.Kinect

adicione também a diretiva using para este mesmo assembly dentro da classe

InicializadorKinect. Se tudo estiver correto você já poderá acessar a classe

KinectSensor, esta classe é de extrema importância, pois ela é a representação

virtual do sensor Kinect em sua aplicação.

A classe InicializadorKinect deve ser pública para podermos acessá-la em

nossa aplicação, portanto não esqueça de utilizar a palavra reservada public na declaração da classe. Vamos criar um método estático para fazer as operações descritas anteriormente (inicializar o sensor e configurar seu ângulo de elevação). Nosso mé-

todo se chamará InicializarPrimeiroSensor ele irá receber por parâmetro o

ângulo de elevação inicial do sensor e deverá retornar o primeiro sensor conectado no computador.

Ваша оценка очень важна

0
Шрифт
Фон

Помогите Вашим друзьям узнать о библиотеке