No meu caso utilizei o SimpleOpenNI, por conta do mapeamento do corpo e algumas vantagens da biblioteca em si.
Então o meu primeiro passo foi detectar o esqueleto que o Kinect interpretava através da SONI. E entender como funcionava esse mapeamento.
Logo após foi identificar como eu poderia acessar cada ponto desse (Esqueleto gerado pelo Kinect), segue abaixo a lista dos nomes referente a cada ponto do corpo (como os nomes são o que realmente representam só que em inglês não vou colocar a tradução).
SimpleOpenNI.SKEL_HEAD
SimpleOpenNI.SKEL_NECK
SimpleOpenNI.SKEL_LEFT_SHOULDER
SimpleOpenNI.SKEL_LEFT_ELBOW
SimpleOpenNI.SKEL_LEFT_HAND
SimpleOpenNI.SKEL_RIGHT_SHOULDER
SimpleOpenNI.SKEL_RIGHT_ELBOW
SimpleOpenNI.SKEL_RIGHT_HAND
SimpleOpenNI.SKEL_TORSO
SimpleOpenNI.SKEL_LEFT_HIP
SimpleOpenNI.SKEL_LEFT_KNEE
SimpleOpenNI.SKEL_LEFT_FOOT
SimpleOpenNI.SKEL_RIGHT_HIP
SimpleOpenNI.SKEL_RIGHT_KNEE
SimpleOpenNI.SKEL_RIGHT_FOOT
Agora com os ponto detectados, pensei a princípio em colocar uma imagem para seguir um ponto do esqueleto (mão esquerda). Usei minha prima como modelo em um teste da aplicação. Segue abaixo algumas fotos:
Após detectar a parte do corpo e colocar a imagem para seguir a mesma, veio a parte mais complicada que foi dimensionar a imagem ao local exato que a pessoa escolher. Resolvi escolher colocar uma imagem entre os ombros e abaixo da cabeça.
A imagem que pensei em colocar foi a logo do Superman, e aplicar a distância para dimensionar a imagem, ou seja se a pessoa estiver próxima a imagem amplia, se distante ela aumenta.
Fiz alguns testes primeiro com a câmera depth:
E para finalizar coloquei a câmera RGB e com a ajuda do Eduardo, tirei mais alguns prints. Agora já temos uma visualização real de como ficaria uma possível tatuagem neste local.
Breve postarei o video. Até a próxima!