C# cvGetCol投掷“;OpenCV:无法识别或不支持的数组类型“;
我正在尝试使用c#中的OpenCV3(Emgu)来操作各个列。我的代码类似于:C# cvGetCol投掷“;OpenCV:无法识别或不支持的数组类型“;,c#,emgucv,opencv3.1,C#,Emgucv,Opencv3.1,我正在尝试使用c#中的OpenCV3(Emgu)来操作各个列。我的代码类似于: UMat Image = loaded image UMat Column = new UMat(); CvInvoke.cvGetCol(Image, Column, 1); {“OpenCV:无法识别或不支持的数组类型”} 这就是在标题中抛出错误。我尝试了Mat和Mat.Ptr而不是UMat,但没有任何帮助。虽然我发现了1-2个C++示例,但是我找不到一个C例子来帮助。虽然不是这个问题的解决方案,但我能够使用
UMat Image = loaded image
UMat Column = new UMat();
CvInvoke.cvGetCol(Image, Column, 1);
{“OpenCV:无法识别或不支持的数组类型”}
这就是在标题中抛出错误。我尝试了
Mat
和Mat.Ptr
而不是UMat
,但没有任何帮助。虽然我发现了1-2个C++示例,但是我找不到一个C例子来帮助。虽然不是这个问题的解决方案,但我能够使用矩阵类型而不是UMAS获得类似的功能。
UMat Image = ...
Matrix<byte> ImageMatrix = new Matrix<byte>(Image.Rows, Image.Cols, 3);
Image.CopyTo(ImageMatrix);
ImageMatrix.GetCol(1);
UMat图像=。。。
矩阵ImageMatrix=新矩阵(Image.Rows,Image.Cols,3);
Image.CopyTo(ImageMatrix);
ImageMatrix.GetCol(1);
我相信这比在UMat类型中使用CvInvoke调用要慢,但在寻找上述问题的完整解决方案时,它会起作用。您能用错误更新您的问题吗,这将有助于为您提供正确的建议。添加了粗体错误。