在我的代码中,我从字节数组(依次从Kinect)接收WriteableBitmaps,我想把它们变成用于EmguCV的位图.目前这是我的代码:
// Copy the pixel data from the image to a temporary array colorFrame.CopyPixelDataTo(this.colorPixels); // Write the pixel data into our bitmap this.colorBitmap.WritePixels( new Int32Rect(0,this.colorBitmap.PixelWidth,this.colorBitmap.PixelHeight),this.colorPixels,this.colorBitmap.PixelWidth * colorFrame.BytesPerPixel,0); BitmapEncoder encoder = new BmpBitmapEncoder(); encoder.Frames.Add(BitmapFrame.Create(colorBitmap)); MemoryStream ms = new MemoryStream(); encoder.Save(ms); Bitmap b=new Bitmap(ms); Image<Gray,Byte> img = new Image<Gray,Byte>(b); img = img.ThresholdBinary(new Gray(200),new Gray(255));
我从here获得了代码的下半部分.代码编译和所有内容,但是在我尝试运行程序时挂起(它应该对图像执行一些操作然后将其转换回可以呈现的格式作为一个图像.)暂停我的代码,然后在VS 2013中使用IntelliTrace,我在Image< Gray,Byte>处获得以下异常: img = new Image< Gray,Byte>(b); “抛出了System.ArgumentException:不支持URI格式.”使用替代代码,从我直接从字节到位图的位置给出了同样的错误. (Code can be found here.)