0
我有一个12位灰度相机,我想用EMGU来处理图像。EMGU灰色TColor与UInt16深度
我的问题是,我要处理的“UINT16” TDepth我创建一个空的2D图像的图像,而不是通常的“字节”
所以最初:
Image<Gray, UInt16> OnImage = new Image<Gray, UInt16>(960, 1280);
然后创建一个for循环我的图片从一维向量形式传输到2D图像:
for (int i=1; i< 960; i++)
{
for (int j = 1; j < 1280; j++)
{
OnImage[i, j] = MyImageVector[Counter];
Counter++;
}
}
其中:
int[] MyImageVector = new int[1228800];
的问题是在该行:
OnImage[i, j] = MyImageVector[Counter];
在那里我得到以下错误信息:
不能隐式转换类型 “INT” 到 “EMGU.CV.Structure.Gray”
为什么会发生这种情况?
你知道任何方式,我可以将Int值存储到Emgu图像对象?
任何替代解决方法也是有帮助的。
谢谢
我m不是来自EMGU的区域,但它听起来像一个纯粹的C#问题。您可以使用UInt6类型的成员来定义一个类,而不是使用UInt16。这个类应该继承Gray类。确保您正确初始化类并在每次更改时更新父类。还要确保父类不是直接更新的,而只是通过子类。 – MaMazav
谢谢你的建议!我按照你的指示,它的工作。我还发现了另一个我将在这里发布的解决方案...谢谢 – Spyros