Affdex-SDK 帧检测器的像素顺序?
Pixel Order for Affdex-SDK's FrameDetector?
我正在使用 Affectiva 的 affdex SDK 在 Unity3D 中编写 Windows 情感敏感游戏。 CameraDetector 始终如一地找到一张脸。当我使用 FrameDetector 时,很少能找到人脸。强烈的照明似乎有所帮助,但即使找到一张脸,当我皱眉时它似乎也在检测到微笑。我从 WebCamTexture.GetPixels32 获取像素。像素从左到右和从下到上排序(就像 Windows 位图)。
public void ProcessFrame(Frame frame)
{
if (!_initialized)
{
Initialize(false);
}
byte[] bytes = new byte[frame.rgba.Length * 3];
for(int i = 0, idx=0; i < frame.rgba.Length; i++, idx+=3)
{
bytes[idx] = frame.rgba[i].b;
bytes[idx+1] = frame.rgba[i].g;
bytes[idx+2] = frame.rgba[i].r;
}
nativePlatform.ProcessFrame(bytes, frame.w, frame.h, frame.timestamp);
}
我通读了 the Affectiva documentation,但找不到任何关于像素顺序的信息。
帧 class 要求像素顺序为从左到右、从上到下。即数组中的第一个像素是图像的左上角。
FrameDetector 期望面部图像在图像中的面部是直立的。否则面部跟踪器将无法锁定面部。
我正在使用 Affectiva 的 affdex SDK 在 Unity3D 中编写 Windows 情感敏感游戏。 CameraDetector 始终如一地找到一张脸。当我使用 FrameDetector 时,很少能找到人脸。强烈的照明似乎有所帮助,但即使找到一张脸,当我皱眉时它似乎也在检测到微笑。我从 WebCamTexture.GetPixels32 获取像素。像素从左到右和从下到上排序(就像 Windows 位图)。
public void ProcessFrame(Frame frame)
{
if (!_initialized)
{
Initialize(false);
}
byte[] bytes = new byte[frame.rgba.Length * 3];
for(int i = 0, idx=0; i < frame.rgba.Length; i++, idx+=3)
{
bytes[idx] = frame.rgba[i].b;
bytes[idx+1] = frame.rgba[i].g;
bytes[idx+2] = frame.rgba[i].r;
}
nativePlatform.ProcessFrame(bytes, frame.w, frame.h, frame.timestamp);
}
我通读了 the Affectiva documentation,但找不到任何关于像素顺序的信息。
帧 class 要求像素顺序为从左到右、从上到下。即数组中的第一个像素是图像的左上角。
FrameDetector 期望面部图像在图像中的面部是直立的。否则面部跟踪器将无法锁定面部。