ebook img

Microsoft Kinect: Crie aplicações interativas PDF

164 Pages·2014·3.06 MB·Portuguese
Save to my drive
Quick download
Download
Most books are stored in the elastic cloud where traffic is expensive. For this reason, we have a limit on daily download.

Preview Microsoft Kinect: Crie aplicações interativas

CasadoCódigo Sumário Sumário 1 IntroduçãoàInterfacesNaturais 1 1.1 ApresentandooKinect . . . . . . . . . . . . . . . . . . . . . . . . . . . 2 1.2 Oquevocêencontraránestelivro . . . . . . . . . . . . . . . . . . . . . 5 1.3 Antesdecomeçar . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6 2 Primeiraaplicaçãocomosensor 7 2.1 CriandooprojetoAuxiliarKinect . . . . . . . . . . . . . . . . . . . . . 9 2.2 Criandoaregradenossaaplicação . . . . . . . . . . . . . . . . . . . . 11 2.3 Testandoedepurandonossaaplicação . . . . . . . . . . . . . . . . . . 14 2.4 Continuando . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16 3 AcelerômetroeEixoMotorizado 17 3.1 Acelerômetro . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17 3.2 EixoMotorizado . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23 4 FluxodeCores 27 4.1 Formatos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28 4.2 Aplicação . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31 4.3 Refatoração . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38 5 FluxodeProfundidade 49 5.1 Formatos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49 5.2 Entendendoumpoucomaissobreaprofundidade . . . . . . . . . . . 50 5.3 Aplicação . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51 i Sumário CasadoCódigo 6 FluxodeEsqueletodoUsuário 63 6.1 EsqueletodoUsuário . . . . . . . . . . . . . . . . . . . . . . . . . . . . 64 6.2 DesenhandooEsqueletodoUsuário . . . . . . . . . . . . . . . . . . . 66 7 RastreandoeIdentificandoMovimentos 83 7.1 IniciandoaEstruturaBaseparaDetectarMovimentos . . . . . . . . . 84 7.2 UtilizandoPosesemNossaAplicação . . . . . . . . . . . . . . . . . . . 89 7.3 FinalizandoaEstruturaBaseparaDetectarMovimentos. . . . . . . . 104 7.4 UtilizandoGestosemNossaAplicação . . . . . . . . . . . . . . . . . . 116 8 InteragindocomaaplicaçãoatravésdoKinectInteractions 119 8.1 PrincipaisConceitos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 120 8.2 MelhorandoNossaAplicaçãocomosControlesdoKinectInteractions 121 8.3 UtilizandooFluxodeInteração . . . . . . . . . . . . . . . . . . . . . . 127 9 UtilizandoosMicrofonesdoSensor 143 9.1 InicializandoaFontedeÁudioeDetectandoaDireçãodoSom . . . 144 9.2 DetectandoComandosdevoz . . . . . . . . . . . . . . . . . . . . . . . 149 9.3 Conclusão. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 160 ii Capítulo1 Introdução à Interfaces Naturais Formasinovadorasdeinteraçãocomousuáriotêmsidopropostasporinterfacesfo- cadasaoparadigmadeinterfacenaturalaolongodosanos.Ossoftwaresemdiversas áreasnãodevemexigirqueousuáriotenhagrandeconhecimentoemcomputação parausá-lo,devemsemprebuscarporsimplicidadeefacilidade. AprimeirainterfacecomousuárioaaparecerfoiaCLI(CommandLineInter- face)queutilizacomandosdeentradatextuaisespecíficasparadesempenharfunções emumaplicativo,algoqueexigiaumagrandecurvadeaprendizado.Algumtempo depoissurgiuafamosaGUI(GraphicalUserInterface)queutilizajanelasgráficas, mouse,botõesediversosoutroscomponentesvisuais,arriscodizerquegraçasàGUI os computadores conseguiram atingir tantas pessoas e se popularizar tão rápido. Hojeemdiaesteconceitoéomaisutilizadoemsistemasoperacionaiseaplicações. Devidoàquantidadedeusuáriosedemandaporaplicaçõescadavezmaisintui- tivasesimplessurgiuoconceitodeNUI(NaturalUserInterface)ousimplesmente interfaces naturais. Este tipo de interface foca em utilizar uma linguagem natural paraainteraçãohumanacomoaplicativo,comogestos,posesecomandosdevoz. 1.1. ApresentandooKinect CasadoCódigo 1.1 Apresentando o Kinect Comopropostadeinterfacenaturalinicialmentefocadaparaaáreadejogos,aem- presaMicrosoftemparceriacomaempresaisraelitaPrimeSenseconstruiuosensor demovimentosquehojeéchamadodeKinect.OhardwaredoKinectteveboaparte herdado pelo hardware do PrimeSense. Na figura 1.1 podemos visualizar o “irmão maisvelho”doKinect. Figura1.1:SensordaPrimeSense 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 movimentosecomandosdevozdousuário,abrindoumlequedepossibilidadesto- talmentenovo,utilizandoalinguagemnaturalparaainteraçãocomosjogos. Inicialmente o sensor Kinect era conhecido pelo codinome Projeto Natal, fa- zendo referência à cidade brasileira Natal, isso ocorreu devido ao fato de que um dosidealizadoresdoprojetofoiumbrasileirochamadoAlexKipman. Afigura1.2exibeosensorconcebidopelaMicrosoft,podemosnotarque,apesar deumdesignmaiseleganteerobustoelepossuigrandessemelhançascomoPrime- Sense. 2 CasadoCódigo Capítulo1. IntroduçãoàInterfacesNaturais Figura1.2:MicrosoftKinect 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) quepodeserobtidodeformagratuita. ComestekitdedesenvolvimentoaMicro- soft permite que desenvolvedores possam criar aplicativos para computadores nas linguagensC++, C#eVisualBasicutilizandoohardwareKinect, ouseja, alimita- ção de que o Kinect era um dispositivo apenas para a área de jogos não era mais verdadeira. AtualmenteexistemtrêstiposdiferentesdeKinect, iremosdiferenciá-lospelos seguintes nomes: Kinect, Kinect for Windows e Kinect for Xbox 360. O sensor conhecidocomercialmentecomoKinectforWindowspossuiumhardwarediferen- ciado, 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 me- lhorsobreissoaodecorrerdolivro. AdiferençamaisimportantequevocêdeveteremmenteagoraéentreoKinect forXbox360eosoutros.Estadiferençatrata-sedocabodeconexãodosensor,esta versão é vendida somente junto com um console Xbox 360 e seu cabo de conexão possuiumaentradaespecífica,casoseusensorsejadestetipoénecessáriocomprar umadaptadorparaconectaroKinectemumcomputador,afigura1.3ilustraocabo eoadaptadorparaestetipodesensor. 3 1.1. ApresentandooKinect CasadoCódigo Figura1.3:KinectforXbox360eseuadaptador Osensorpossuiumhardwarequeoferecediversosrecursosqueiremosexplorar aolongodolivro,osprincipaissão:Emissordeluzinfravermelho,sensorRGB,sen- sorinfravermelho,eixomotorizadoeumconjuntodemicrofonesdispostosaolongo dosensor.Afigura1.4apresentaumavisãodointeriordosensorcomindicativosde ondeestãolocalizadosestesrecursos. 4 CasadoCódigo Capítulo1. IntroduçãoàInterfacesNaturais Figura1.4:Kinectpordentro 1.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 con- tato com à linguagem C#, para facilitar a compreensão de desenvolvedores menos experiêntes nessa linguagem será dado pequenas explicações sobre alguns concei- tos 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çõesserãofocadasemconceitosdeinterfacesnaturaisespecíficosutili- zando um sensor Kinect. As aplicações criadas neste livro não irão levar em con- sideração padrões arquiteturais e melhorias de performance, será levado em con- sideração a clareza e facilidade de entendimento do leitor e todas as implementa- çõesterãoseucódigocentralizadonorepositório:https://github.com/gabrielschade/ CrieAplicacoesInterativascomoMicrosoftKinect. Aolongodestelivronoscapítulosmaisavançadosiremosconstruirumaaplica- çãoutilizandotodososconceitoserecursosestudados,nofimdolivroteremosuma aplicaçãocompletautilizandooKinect. Agrandemetadestelivroéencorajareiniciaroleitoraingressarnestemundo desafiador(emuitodivertido!)daprogramaçãoseguindoosconceitosdeNUIatra- vésdosensorKinect,oqueinvariavelmenteiráenvolverbastanteteoriaeprática,de 5 1.3. Antesdecomeçar CasadoCódigo umaformafluída,simplesedivertida! 1.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á- veljáfazerodownloaddodevelopertoolkitedoMicrosoftSpeechPlatformSDKpara utilizarmosemnossasfuturasimplementaçõ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 quevocêtenhaumadaptadorparaconectá-loaoseucomputador. 6 Capítulo2 Primeira aplicação com o sensor Nestecapítuloaprenderemosacodificaretestarumaaplicaçãoqueutilizeosensor Kinect. Esta aplicação será bastante simples e terá o intuito de termos o primeiro contatocomestetipodeprogramação.Elaterácomofunçãoreconhecerseousuário estácomamãodireitaacimadaalturadesuacabeçaenotificarousuárioexibindo umamensagememumdiálogoquandoissoacontecer,simplesnão? AprimeiracoisaquetemosquefazerécriarnossoprojetodotipoWPFAppli- cationnoVisualStudioeadicionarareferênciaparaoSDKdoKinect.

Description:
Com o crescimento e popularização da tecnologia é cada vez mais comum pessoas de diferentes idades utilizarem aplicativos, com isso surge a necessidade do uso de interfaces naturais em aplicações. Aprenda com este livro a criar aplicações incríveis aproveitando todos os recursos do sensor de
See more

The list of books you might like

Most books are stored in the elastic cloud where traffic is expensive. For this reason, we have a limit on daily download.