我正在使用Affectiva的affdex SDK在Unity3D中编写Windows情感敏感游戏。 CameraDetector始终找到一张脸。当我使用FrameDetector时,很少发现一张脸。强烈的灯光似乎有帮助,但是即使发现一张脸,当我皱着眉头时,它似乎仍在微笑。我正在从WebCamTexture.GetPixels32获得像素。像素按从左到右,从下到上的顺序排列(就像Windows BitMaps一样)。

    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,但找不到有关像素顺序的任何信息。

最佳答案

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

FrameDetector希望面部图像在图像中具有直立的面部。否则,面部跟踪器将无法锁定到面部。

关于c++ - Affdex-SDK的FrameDetector的像素顺序?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/33553884/

10-15 22:37