C# UInt16[]到C中的EMGU图像#

C# UInt16[]到C中的EMGU图像#,c#,.net,emgucv,image-generation,C#,.net,Emgucv,Image Generation,我有一个UInt16数组,表示一个图像及其宽度/高度,我想以最不痛苦的方式将其转换为EMGU图像 EMGU有一个图像构造函数,它看起来很有希望,如下所述 但是我不明白如何格式化我的数据,它说第一个维度是高度,但是为什么我需要一个完整的维度来描述一个数字呢?很明显,有些事情我不明白。像Image(ushort[],height,width)这样的东西对我来说更有意义 根据文档,您需要提供: data Type: TDepth[,,] The multi-dimensional data 其中第一

我有一个
UInt16
数组,表示一个图像及其宽度/高度,我想以最不痛苦的方式将其转换为EMGU图像

EMGU有一个
图像
构造函数,它看起来很有希望,如下所述


但是我不明白如何格式化我的数据,它说第一个维度是高度,但是为什么我需要一个完整的维度来描述一个数字呢?很明显,有些事情我不明白。像
Image(ushort[],height,width)
这样的东西对我来说更有意义

根据文档,您需要提供:

data
Type: TDepth[,,]
The multi-dimensional data
其中第一个尺寸为行数(高度),
第二个维度是#cols(宽度)和
第三维是通道

因此,您只需要创建一个
TDepth[,]
对象(比如),并设置三个属性:高度、宽度和通道。大概是这样的:

UInt16[,,] depth = new UInt16[, , ] { { height }, { width }, { data } };

data
-包含图像数据的数组。

这是C库的包装,因此参数是相同的。在C中,数组是没有长度信息的指针。不,参数不一样,C甚至没有构造函数,它们怎么可能是?