我正在尝试使用C#开发覆盆子pi(ubuntu)中的程序来可视化uEye相机。该程序基于uEyE网页的[TextOnBitmap_Csharp编程示例]。
图像的流式传输不起作用,并且当使用Camera.Memory.ToBitmap()
方法从相机获取位图时,如示例中所示,生成的位图在原始地图上是损坏的版本,具有错误的大小和颜色。 / p>
是否有人知道为了使其有效,需要对程序进行更正或更改?
更新
这是完整项目http://sharesix.com/f/6GeP95O的链接,没有传递
这是失败的代码
uEye.Defines.Status statusRet = 0;
// Get last image memory
Int32 s32LastMemId;
Int32 s32Width;
Int32 s32Height;
statusRet = Camera.Memory.GetLast(out s32LastMemId);
statusRet = Camera.Memory.Lock(s32LastMemId);
statusRet = Camera.Memory.GetSize(s32LastMemId, out s32Width, out s32Height);
Bitmap MyBitmap;
statusRet = Camera.Memory.ToBitmap(s32LastMemId, out MyBitmap);
statusRet = Camera.Memory.Unlock(s32LastMemId);
代码在我的Windows计算机上运行没有问题,但是当它在覆盆子pi中的Mono上运行时,eventhougth它不会产生任何错误。
statusRet = Camera.Memory.ToBitmap(s32LastMemId, out MyBitmap);
生成的 myBitmap 是这样的:
pixel[1][1]=[154 255 255 ]
pixel[1][2]=[255 164 255 ]
pixel[1][3]=[255 255 45 ]
所有像素等等。这就像每个像素只采用其中一种颜色(红色,蓝色,绿色)并丢弃其他颜色。也许这种格式在树莓派中不受支持,我不知道。