0

我正在使用 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);
    }

我通读了 Affectiva 文档,但找不到任何关于像素顺序的信息。

4

1 回答 1

1

Frame 类期望像素顺序是从左到右、从上到下。即数组中的第一个像素是图像的左上角。

FrameDetector 期望面部图像在图像中具有直立的面部。否则面部追踪器将无法锁定面部。

于 2015-11-05T20:18:43.350 回答