SlideShare a Scribd company logo
1 of 21
Intel Information Technology
Como Implementar o Framework
SharpSensese C# 6 nas Apps
Renato Haddad - MS Regional Director, MVP, MCTS, MCPD, Intel Innovator
rehaddad@msn.com @rehaddad
www.renatohaddad.com
http://weblogs.asp.net/renatohaddad
Intel Information Technology
Agenda
Tópicos
Framework SharpSenses
Melhores funcionalidades do C# 6
Intel Information Technology
Hands -
Tracking and Joints
• 22 Joints
• Detects Body Side
• Tracks X, Y and Z positions from
detected hands
Intel Information Technology
Hands – Gestures and Poses
Intel Information Technology
Face – Pose
Intel Information Technology
Face – Expressions
Intel Information Technology
SharpSenses to rescue!
Install-Package SharpSenses.RealSense
Intel Information Technology
E o que eu ando fazendo?
Intel Information Technology
The end
var cam = Camera.Create();
cam.LeftHand.Opened += (s, a) => {
Console.WriteLine("-> Open");
};
cam.Start();
Detectar quando a mão esquerda abrir
Intel Information Technology
cam.LeftHand.Moved += (s, a) => {
Console.WriteLine("-> " + a.Image.X);
};
Movimento
Intel Information Technology
cam.Face.FacialExpresssionChanged += (s, e) => {
Console.WriteLine("-> " + e.NewFacialExpression);
};
Expressões Faciais
Intel Information Technology
cam.Face.PersonRecognized += (s, e) => {
Console.WriteLine("-> " + e.UserId);
};
Reconhecer uma face
cam.Face.RecognizeFace();
Intel Information Technology
Inicialização de propriedades
class produto {
public int ID { get; set; }
public string Nome { get; set; }
public decimal Preco { get; set; }
public double Qtde { get; set; }
}
class produto {
public int ID { get; set; }
public string Nome { get; set; } = "Produto novo";
public decimal Preco { get; set; } = 8.99M;
public double Qtde{ get; set; } = 10;
public bool Ativo { get; } = true;
}
Intel Information Technology
Inicialização de propriedades (constructor)
class categoria {
public int ID { get; set; }
public string NomeCategoria { get; set; }
public bool Ativa { get; }
public categoria()
{
Ativa = true;
}
}
class categoria {
public int ID { get; set; }
public string NomeCategoria { get; set; }
public bool Ativa { get; } = true;
}
Intel Information Technology
Remover o Using de classes estáticas
using static System.Console;
using static System.Math;
var anonimo = new {esporte = "kitesurf"};
// 1 - uso normal
//Console.WriteLine(anonimo.esporte);
//Console.ReadLine();
// 2 - remover using
WriteLine(anonimo.esporte);
var valor = 98.4563M;
WriteLine(Round(valor));
WriteLine(Abs(valor));
WriteLine(Sqrt(64));
ReadLine();
Intel Information Technology
Expression-bodied (variável c/ expressão)
public static decimal CalculaPreco(
decimal preco, int qtde) =>
preco * qtde;
WriteLine($"Valor do produto no estoque {CalculaPreco(10, 15)}");
Intel Information Technology
Expression-bodied (variável c/ expressão)
var c = new carro {ID = 1, Modelo = "JEEP", AnoFabricacao = 2007, KmRodados = 800, Litros =
42 };
WriteLine($"O carro {c.Modelo}, fabricado em {c.AnoFabricacao} está com {c.Idade()} anos.
Rodando {c.KmRodados} km com {c.Litros} litros, a média é de {c.Consumo():n2} km/litro.");
class carro {
public int ID { get; set; }
public string Modelo { get; set; }
public int Litros { get; set; }
public double KmRodados { get; set; }
public int AnoFabricacao { get; set; }
public double Consumo() => KmRodados / Litros;
public string Idade() => (DateTime.Today.Year - AnoFabricacao).ToString();
}
Intel Information Technology
Expression-bodied (variável c/ expressão)
var c = new carro {ID = 1, Modelo = "JEEP", AnoFabricacao = 2007, KmRodados = 800, Litros =
42 };
WriteLine(c.ToString());
class carro {
public int ID { get; set; }
…
public override string ToString() => $"{ID} : {Modelo}";
}
Intel Information Technology
Artigos publicados:
http://bit.ly/inteldel
http://bit.ly/intelGestos
Avaliação: www.bit.ly/ISD_Pesquisa
Obrigado!

More Related Content

Viewers also liked (8)

Daftar tarif tiket
Daftar tarif tiketDaftar tarif tiket
Daftar tarif tiket
 
Mohamed-Fathy
Mohamed-FathyMohamed-Fathy
Mohamed-Fathy
 
Conviver matemática
Conviver matemáticaConviver matemática
Conviver matemática
 
CV-Tahar-1
CV-Tahar-1CV-Tahar-1
CV-Tahar-1
 
5 gumercindo - vivo educação
5   gumercindo - vivo educação5   gumercindo - vivo educação
5 gumercindo - vivo educação
 
Treinamento Equipe Multiplos
Treinamento Equipe MultiplosTreinamento Equipe Multiplos
Treinamento Equipe Multiplos
 
Ficha de leitura l.p.
Ficha de leitura l.p.Ficha de leitura l.p.
Ficha de leitura l.p.
 
QConSP 2011 - Praticando a arquitetura evolucionária
QConSP 2011 - Praticando a arquitetura evolucionáriaQConSP 2011 - Praticando a arquitetura evolucionária
QConSP 2011 - Praticando a arquitetura evolucionária
 

Similar to Presentation about SharpSenses with Intel RealSenses and whats new in C# 6

Codificação segura em C para sistemas embarcados
Codificação segura em C para sistemas embarcadosCodificação segura em C para sistemas embarcados
Codificação segura em C para sistemas embarcadoshenriqueprossi
 
Internet das Coisas com Android things e Machine Learning
Internet das Coisas com Android things e Machine LearningInternet das Coisas com Android things e Machine Learning
Internet das Coisas com Android things e Machine LearningAlvaro Viebrantz
 
Disparando eventos com Asterisk
Disparando eventos com AsteriskDisparando eventos com Asterisk
Disparando eventos com AsteriskFernando Mercês
 
Introdução à visão computacional utilizando software livre
Introdução à visão computacional utilizando software livreIntrodução à visão computacional utilizando software livre
Introdução à visão computacional utilizando software livrepichiliani
 
Webinar: Monitorando sensores IoT: Do ESP32 ao Grafana
Webinar: Monitorando sensores IoT: Do ESP32 ao GrafanaWebinar: Monitorando sensores IoT: Do ESP32 ao Grafana
Webinar: Monitorando sensores IoT: Do ESP32 ao GrafanaEmbarcados
 
TDC2016POA | Trilha Android - Testes no Android
TDC2016POA | Trilha Android - Testes no AndroidTDC2016POA | Trilha Android - Testes no Android
TDC2016POA | Trilha Android - Testes no Androidtdc-globalcode
 
TDC2016POA | Trilha Android - Testes no Android
TDC2016POA | Trilha Android - Testes no AndroidTDC2016POA | Trilha Android - Testes no Android
TDC2016POA | Trilha Android - Testes no Androidtdc-globalcode
 
Inteligência Artificial e suas aplicações - A experiência do TECPAR
Inteligência Artificial e suas aplicações - A experiência do TECPARInteligência Artificial e suas aplicações - A experiência do TECPAR
Inteligência Artificial e suas aplicações - A experiência do TECPARBruno Campagnolo
 
Visual Studio 2010 e C# 4
Visual Studio 2010 e C# 4Visual Studio 2010 e C# 4
Visual Studio 2010 e C# 4CDS
 
Introdução ao Titanium Mobile
Introdução ao Titanium MobileIntrodução ao Titanium Mobile
Introdução ao Titanium MobileEric Cavalcanti
 
Arduino genius com display lcd 16x2 usando i2 c
Arduino  genius com display lcd 16x2 usando i2 cArduino  genius com display lcd 16x2 usando i2 c
Arduino genius com display lcd 16x2 usando i2 cThiago Pereira
 
Desenvolvimento Mobile com Visual Studio 2008, por onde começar?
Desenvolvimento Mobile com Visual Studio 2008, por onde começar?Desenvolvimento Mobile com Visual Studio 2008, por onde começar?
Desenvolvimento Mobile com Visual Studio 2008, por onde começar?Stefanini
 
Aplicações Móveis com J2ME
Aplicações Móveis com J2MEAplicações Móveis com J2ME
Aplicações Móveis com J2MEelliando dias
 
Implementação de Aplicações Móveis e Jogos com Python - Aula 3
Implementação de Aplicações Móveis e Jogos com Python - Aula 3Implementação de Aplicações Móveis e Jogos com Python - Aula 3
Implementação de Aplicações Móveis e Jogos com Python - Aula 3Flávio Ribeiro
 
Desenvolvimento de Aplicações para o Google App Engine (CPBR5)
Desenvolvimento de Aplicações para o Google App Engine (CPBR5)Desenvolvimento de Aplicações para o Google App Engine (CPBR5)
Desenvolvimento de Aplicações para o Google App Engine (CPBR5)Carlos Duarte do Nascimento
 

Similar to Presentation about SharpSenses with Intel RealSenses and whats new in C# 6 (20)

Codificação segura em C para sistemas embarcados
Codificação segura em C para sistemas embarcadosCodificação segura em C para sistemas embarcados
Codificação segura em C para sistemas embarcados
 
Python Para Maemo
Python Para MaemoPython Para Maemo
Python Para Maemo
 
Internet das Coisas com Android things e Machine Learning
Internet das Coisas com Android things e Machine LearningInternet das Coisas com Android things e Machine Learning
Internet das Coisas com Android things e Machine Learning
 
Disparando eventos com Asterisk
Disparando eventos com AsteriskDisparando eventos com Asterisk
Disparando eventos com Asterisk
 
Introdução à visão computacional utilizando software livre
Introdução à visão computacional utilizando software livreIntrodução à visão computacional utilizando software livre
Introdução à visão computacional utilizando software livre
 
Pdm -final
Pdm  -finalPdm  -final
Pdm -final
 
Realidade Aumentada
Realidade AumentadaRealidade Aumentada
Realidade Aumentada
 
Webinar: Monitorando sensores IoT: Do ESP32 ao Grafana
Webinar: Monitorando sensores IoT: Do ESP32 ao GrafanaWebinar: Monitorando sensores IoT: Do ESP32 ao Grafana
Webinar: Monitorando sensores IoT: Do ESP32 ao Grafana
 
TDC2016POA | Trilha Android - Testes no Android
TDC2016POA | Trilha Android - Testes no AndroidTDC2016POA | Trilha Android - Testes no Android
TDC2016POA | Trilha Android - Testes no Android
 
TDC2016POA | Trilha Android - Testes no Android
TDC2016POA | Trilha Android - Testes no AndroidTDC2016POA | Trilha Android - Testes no Android
TDC2016POA | Trilha Android - Testes no Android
 
Inteligência Artificial e suas aplicações - A experiência do TECPAR
Inteligência Artificial e suas aplicações - A experiência do TECPARInteligência Artificial e suas aplicações - A experiência do TECPAR
Inteligência Artificial e suas aplicações - A experiência do TECPAR
 
Visual Studio 2010 e C# 4
Visual Studio 2010 e C# 4Visual Studio 2010 e C# 4
Visual Studio 2010 e C# 4
 
Introdução ao Titanium Mobile
Introdução ao Titanium MobileIntrodução ao Titanium Mobile
Introdução ao Titanium Mobile
 
ava facul uva unijorge (146).pdf
ava facul uva unijorge (146).pdfava facul uva unijorge (146).pdf
ava facul uva unijorge (146).pdf
 
Arduino genius com display lcd 16x2 usando i2 c
Arduino  genius com display lcd 16x2 usando i2 cArduino  genius com display lcd 16x2 usando i2 c
Arduino genius com display lcd 16x2 usando i2 c
 
Desenvolvimento Mobile com Visual Studio 2008, por onde começar?
Desenvolvimento Mobile com Visual Studio 2008, por onde começar?Desenvolvimento Mobile com Visual Studio 2008, por onde começar?
Desenvolvimento Mobile com Visual Studio 2008, por onde começar?
 
Aplicações Móveis com J2ME
Aplicações Móveis com J2MEAplicações Móveis com J2ME
Aplicações Móveis com J2ME
 
Implementação de Aplicações Móveis e Jogos com Python - Aula 3
Implementação de Aplicações Móveis e Jogos com Python - Aula 3Implementação de Aplicações Móveis e Jogos com Python - Aula 3
Implementação de Aplicações Móveis e Jogos com Python - Aula 3
 
Programa final
Programa finalPrograma final
Programa final
 
Desenvolvimento de Aplicações para o Google App Engine (CPBR5)
Desenvolvimento de Aplicações para o Google App Engine (CPBR5)Desenvolvimento de Aplicações para o Google App Engine (CPBR5)
Desenvolvimento de Aplicações para o Google App Engine (CPBR5)
 

Presentation about SharpSenses with Intel RealSenses and whats new in C# 6

Editor's Notes

  1. Explorar o público (colocar essas perguntas na pesquisa final) Quem conhece RealSense? Quem desenvolve utilizando o RealSense SDK versão 2014? Quem desenvolve outros SDKs que trabalham com este tipo de tecnologia? (Leap Motion, Kinect, etc)
  2. Arrumar fundo azul da imagem ** Reference Links: https://software.intel.com/sites/landingpage/realsense/camera-sdk/2014gold/documentation/html/manuals_programming_guide_gesture.html https://software.intel.com/sites/landingpage/realsense/camera-sdk/2014gold/documentation/html/manuals_programming_guide_gesture.html https://software.intel.com/sites/landingpage/realsense/camera-sdk/2014gold/documentation/html/manuals_general_procedure_2.html https://software.intel.com/sites/landingpage/realsense/camera-sdk/2014gold/documentation/html/manuals_hand_calibration_data.html https://software.intel.com/sites/landingpage/realsense/camera-sdk/2014gold/documentation/html/manuals_alternative_hand_tracking_solu.html Em Rastreamento e Pontos, podemos colher os dados de cada um dos 22 pontos, sabendo também qual o lado do corpo (esquerda ou direira) pertencem.
  3. Reference Links: https://software.intel.com/sites/landingpage/realsense/camera-sdk/2014gold/documentation/html/manuals_pose_and_gesture_recognition.html https://software.intel.com/sites/landingpage/realsense/camera-sdk/2014gold/documentation/html/manuals_gesture_interaction_guide.html ** ERRO NAS IMAGENS ** TAP GESTURE Aqui observamos os gestos que compõem a RealSense SDK: SpreadFingers ou Big5, gesto estático, o mais simples identificando uma mão aberta; V-Sign, ou mais conhecido V de vitória. Também estático; Tap, representa um gesto dinâmico de pressionar; Wave, gesto dinâmico que representa para nós um “tchau”;
  4. Tentar arrumar fundo azul **** https://software.intel.com/sites/landingpage/realsense/camera-sdk/2014gold/documentation/html/manuals_face_pose_data.html Ilustração dos ângulos X,Y,Z da cabeça: Pitch (y), para cima e para baixo; Yaw (x), olhar para esquerda ou direita; Roll (z), movimentar cabeça para esquerda ou para direita, mantendo X e Y. ** melhorar descrição... Mostrar Implementação
  5. https://software.intel.com/sites/landingpage/realsense/camera-sdk/2014gold/documentation/html/manuals_facial_expression_data.html Expressões Faciais; Em uma forma geral conseguimos captar, através do módulo Face, 8 expressões faciais (com a intensidade aplicada): Sorriso; Boca aberta; Beijo (?), Duck face :^ Olho fechado (esquerdo e direito); Movimento das pupilas (esquerda,direita, cima, baixo) de cada olho; Sombrancelha levantada (esquerda e direita); Sombrancelha abaixada (?) (esquerda e direita); Mostrar implementação...