Я пытаюсь создать противоположное зеркальное изображение из цветового потока, то есть когда правая рука движется вверх, я хочу, чтобы киндекс рисовал левый, чтобы двигаться вверх (в отличие от -front реального зеркала, которое поднимает правая рука), я хочу манипулировать цветным изображением, чтобы сделать это: просто переместив положение X. Тем не менее, я получаю синий экран:Создание oposite Зеркальное изображение, манипулируя Kinect Цветные пиксели
void kinectSensor_ColorFrameReady(object sender, ColorImageFrameReadyEventArgs e)
{
try
{
using (ColorImageFrame colorImageFrame = e.OpenColorImageFrame())
{
if (colorImageFrame != null)
{
byte[] pixelsFromFrame = new byte[colorImageFrame.PixelDataLength];
colorImageFrame.CopyPixelDataTo(pixelsFromFrame);
Color[] color = new Color[colorImageFrame.Height * colorImageFrame.Width];
kinectRGBVideo = new Texture2D(graphics.GraphicsDevice, colorImageFrame.Width, colorImageFrame.Height);
// Go through each pixel and set the bytes correctly
// Remember, each pixel got a Rad, Green and Blue
int index = 0;
for (int y = 0; y < colorImageFrame.Height; y++)
{
for (int x = 0; x < colorImageFrame.Width; x++, index += 4)
{
color[(y * colorImageFrame.Width + x)] = new Color(pixelsFromFrame[(y+1)*(2560 -index)],
pixelsFromFrame[(y + 1) * (2560 - index)],
pixelsFromFrame[(y + 1) * (2560 - index)]);
}
}
// Set pixeldata from the ColorImageFrame to a Texture2D
kinectRGBVideo.SetData(color);
}
}
}
catch {
}
}
Может ли кто-нибудь сказать мне, что такое worng? Благодаря Эрез
это не поменяться байт, значение Топос теперь потеряна когда он перезаписывается fromPos. Чтобы правильно менять значения, вы должны добавить временное целое буфера за пределы циклов, а в цикле - скопировать значение toPos в буфер, а затем назначить fromPos для toPos и, наконец, назначить временное значение fromPos. – catchmeifyoutry