Ich versuche, den Tango-Kamera-Stream zu bekommen, um ein hausgemachtes AR Kit zu Tango zu kombinieren.Getting Tango Kamera Stream-Daten
Ich bin an einem Punkt fest, wo alles wie in Tangos Editor-Emulation funktioniert, aber nicht in der App auf das Tablet geschoben.
Der Code Ich verwende ist die folgende:
YUVTexture yuvTexture = m_tangoApplication.GetVideoOverlayTextureYUV();
Texture2D yTexture = yuvTexture.m_videoOverlayTextureY;
// m_videoOverlayTextureCr is not used by Tango yet for some reason
Texture2D uvTexture = yuvTexture.m_videoOverlayTextureCb;
// convert from YV12 to RGB
for (int i = 0; i < yTexture.height; ++i)
{
for (int j = 0; j < yTexture.width; ++j)
{
Color yPixel = yTexture.GetPixel(j, i);
Color uvPixel = uvTexture.GetPixel(j, i);
m_texture.SetPixel(4 * j + 0, yTexture.height - i - 1, YUV2Color(yPixel.r, uvPixel.r, uvPixel.g));
m_texture.SetPixel(4 * j + 1, yTexture.height - i - 1, YUV2Color(yPixel.g, uvPixel.r, uvPixel.g));
m_texture.SetPixel(4 * j + 2, yTexture.height - i - 1, YUV2Color(yPixel.b, uvPixel.b, uvPixel.a));
m_texture.SetPixel(4 * j + 3, yTexture.height - i - 1, YUV2Color(yPixel.a, uvPixel.b, uvPixel.a));
}
}
YUV2Color (extrahiert aus Tango YUV2RGB Shader):
public static Color YUV2Color(float y_value, float u_value, float v_value)
{
float r = y_value + 1.370705f * (v_value - 0.5f);
float g = y_value - 0.698001f * (v_value - 0.5f) - (0.337633f * (u_value - 0.5f));
float b = y_value + 1.732446f * (u_value - 0.5f);
return new Color(r, g, b, 1f);
}
Hat jemand dieses Problem bereits gelöst? Ich habe eine Menge von Post es im Zusammenhang zu sehen, wenn die ITangoVideoOverlay meist verwendet wurde, aber nichts mit den aktuellen IExperimentalTangoVideoOverlay
Ich habe eine Menge Dinge ausprobiert, bisher hat es in der Nähe, die ich bekam zu dem, was ich erwartet habe ... Jede Hilfe würde sehr geschätzt werden.