Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/246.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# WriteVideoCodec的WriteVideoFrame()。原始更改像素值_C#_Matlab_Video_Ffmpeg_Accord.net - Fatal编程技术网

C# WriteVideoCodec的WriteVideoFrame()。原始更改像素值

C# WriteVideoCodec的WriteVideoFrame()。原始更改像素值,c#,matlab,video,ffmpeg,accord.net,C#,Matlab,Video,Ffmpeg,Accord.net,我正在使用Accord.Video.ffmpeg以c#录制视频。它实际上是一个深度视频,像素表示深度大小。我从深度数组创建一个位图,并使用WriteVideoFrame方法保存位图。 之后,我在Matlab中逐帧阅读视频。问题是我在c#中的位图和Matlab中的帧之间存在差异?!差值大于或小于10(在255的范围内,这是一个大问题)(如果它是常数,则在此时进行测试)。 因为从位图到视频帧,我不执行任何操作,我认为问题在于视频编码器。即使格式是原始的,也是可能的 提示? 亚历克斯 更新 如果我在



我正在使用Accord.Video.ffmpeg以c#录制视频。它实际上是一个深度视频,像素表示深度大小。我从深度数组创建一个位图,并使用WriteVideoFrame方法保存位图。
之后,我在Matlab中逐帧阅读视频。问题是我在c#中的位图和Matlab中的帧之间存在差异?!差值大于或小于10(在255的范围内,这是一个大问题)(如果它是常数,则在此时进行测试)。
因为从位图到视频帧,我不执行任何操作,我认为问题在于视频编码器。即使格式是原始的,也是可能的
提示?
亚历克斯

更新

如果我在一个新项目中运行这段代码,一切都很好

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();
    }
}
unsafe private void Button\u Click\u 1(对象发送者,路由目标)
{
writerdepth.Open(“testvideo.avi”,512424,15,VideoCodec.Raw);

对于(int i=0;i已解决)…是我在旧项目中使用的版本3.4.2-alpha的Nuget软件包(奇怪的行为),而新的3.5.0是最后一个(有效)。更新软件包解决了问题