2012-03-28 71 views
1

我有一个UInt16数组代表它的图像和宽度/高度,我想以最痛苦的方式将它变成EMGU图像。UInt16 []到C#中的EMGU图像

EMGU有一个Image的构造函数,看起来很有前途,它被描述为here

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

+0

这是一个C库的包装,因此参数是相同的。在C数组中是没有长度信息的指针。 – weismat 2012-03-28 12:40:48

+0

没有参数不一样,C甚至没有构造函数,所以它们怎么可能? – 2012-03-28 14:23:59

回答

0

根据文档,您需要提供:

data 
Type: TDepth[,,] 
The multi-dimensional data 

,其中第一维是行#(高度),
第二维是#的cols(宽度)和
第三维是频道。所以你只需要创建一个对象(比如说Multidimensional Array),并设置三个属性:高度,宽度,通道。像这样的:

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

data - 你的数组与图像数据。