WriteVideoFrame () с Videocodec. Необработанное изменение значения пикселя



Я использую Accord.Video.ffmpeg для записи видео на C #. На самом деле это видео глубины с пикселями, указывающими величину глубины. Из массива глубины я создаю растровое изображение и сохраняю его с помощью метода WriteVideoFrame.
После этого я открываю видео в Matlab, считывая кадр за кадром. Проблема в том, что у меня есть различия между растровым изображением в С # и фреймом в Matlab ?! Разница составляет более или менее 10 (в диапазоне 255 это большое дело) (на данный момент тестируется, является ли она постоянной).
Поскольку от растрового изображения до видеокадра я не выполняю никаких операций, я думаю, что проблема в в видеокодере. Возможно ли, даже если формат RAW ?!
Подсказки?
Alex

ОБНОВЛЕНИЕ

Если я запустил этот код в новом проекте, все в порядке

unsafe private void Button_Click_1(object sender, RoutedEventArgs e)
    {
        writerdepth.Open("testvideo.avi", 512, 424, 15, VideoCodec.Raw);
        for (int i = 0; i <depthPixels.Length; i++)
        {
            this.depthPixels[i] = (byte)100;
        }


        try
        {
            fixed (byte* p = depthPixels)
            {
                IntPtr unmanagedPointer = (IntPtr)p;
                depthbm = new Bitmap(512, 424, 512, System.Drawing.Imaging.PixelFormat.Format8bppIndexed, unmanagedPointer);
            }

        }
        catch (Exception ex)
        {
            Debug.WriteLine("Errore");
        }

        writerdepth.WriteVideoFrame(depthbm);
        writerdepth.Close();
    }
}

возвращаясь к моему коду, когда я пытаюсь прочитать изображение вместо RGB = [100 100 100] У меня есть [96 94 99].
Мой начальный код сохраняет изображение глубины из kinect v2, функция вызывается при новом поступает действительный фрейм.
Я понятия не имею о причине этой разницы ...


person Alex Gimondi    schedule 25.05.2017    source источник


Ответы (1)


Решено ... был пакет Nuget, у меня была версия 3.4.2-alpha в старом проекте (странное поведение), а новый 3.5.0 - последний (рабочий). Обновление пакета решило проблему

person Alex Gimondi    schedule 26.05.2017