Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/image/5.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# EmguCV-从非托管数据创建映像_C#_Image_Access Violation_Emgucv - Fatal编程技术网

C# EmguCV-从非托管数据创建映像

C# EmguCV-从非托管数据创建映像,c#,image,access-violation,emgucv,C#,Image,Access Violation,Emgucv,我用的是EmguCV,我有一个字节类型的灰度矩阵,大小为640x480,矩阵的每个元素不是255就是0。现在我需要用这个做一个图像。我找到的最好的构造函数如下所示: Image<Gray,byte>(int width, int height, int stride, IntPtr scan0) 我将感谢您的帮助。您很可能在指针上传递了错误信息。错误的步幅只会导致图像内容出现扭曲。640在您的情况下是正确的值(再次使用宽度),因为步长始终表示内存中一个图像行的长度(在您的情况下为6

我用的是EmguCV,我有一个字节类型的灰度矩阵,大小为640x480,矩阵的每个元素不是255就是0。现在我需要用这个做一个图像。我找到的最好的构造函数如下所示:

Image<Gray,byte>(int width, int height, int stride, IntPtr scan0)

我将感谢您的帮助。

您很可能在指针上传递了错误信息。错误的步幅只会导致图像内容出现扭曲。640在您的情况下是正确的值(再次使用宽度),因为步长始终表示内存中一个图像行的长度(在您的情况下为640字节)。我只能猜测,但不要尝试使用矩阵的
\u ptr
指针。这听起来可能合乎逻辑,但它将指向整个矩阵对象,而不仅仅是(您想要的)数据。现在不必检查,我很确定您可以使用矩阵的
copyTo()
将内容复制到图像中(如果这对于您的用例来说足够)。

谢谢,正如您可能已经猜到的,该行不是异常的确切位置。在使用生成图像的下一行中会发生异常。矩阵的copyTo()接受一个CvArray作为输入,但映像只有一个byte[]成员。你知道如何将它复制到映像中吗?我很确定映像可以用作CvArray的替代品(iirc,它是从它派生出来的)。现在没时间测试。哇,成功了。你不知道我多么感激你的帮助。
Access violation exception: Attempted to read or write protected memory. This is often an indication that other memory is corrupt.