Presentation at Intel Software Day in june/2015, about how can I use SharpSenses framework with Intel RealSenses, and also some new features about C$ 6 language.
10. 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
15. 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;
}
16. 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;
}
17. 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();
18. 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)}");
19. 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();
}
20. 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}";
}
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)
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.
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”;
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
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...