【发布时间】:2012-07-22 03:08:41
【问题描述】:
我正在尝试创建一个系统,该系统在 OpenCV 中获取图像,将其写入 XML,从 XML 中读取,然后将其显示在 WPF 应用程序的图像控件中。
我遇到的问题是我不清楚 .NET 类(例如 BitmapImage)如何处理来自字节数组的图像。我尝试了多种方法并得到了各种错误 - 太多了,除非需要,否则无法发布。
我想知道是否有人可以为我指出正确的方向?我想知道的是,数据需要如何呈现给 .NET 对象才能在 Image 控件中显示?
提前感谢您的帮助 - 非常感谢。
编辑:我希望我需要做的是将 XML 转换为字节数组并使用它以及格式的定义来实例化 BitmapImage 对象或等效于用作 Image 控件的源。我不确定如何做到这一点。
【问题讨论】:
-
您不能期望任何语言的 Image 类将字节流呈现为图像。二进制数据必须首先表示图像的二进制数据。您有 2 个选项:自己解析 XML,并将其呈现为位图,或者,拥有一个知道如何解析 XML 加载的控件,然后将该控件的 DC 呈现为位图。
-
@SimonWhitehead 对不起,我不关注。 XML 数据确实代表了一个图像——它是逐像素的 RGB 值。我想知道的是如何将(解析的)数据转换成图像。
-
你不要将图像保存在
Base64而不是那些pixels。如果 OpenCV 不支持,那么你必须手动检索这些像素并存储在Bitmap中使用SetPixel或使用pointers进行快速处理 -
您能否在原始帖子中展示您的 XML 示例?
-
@SimonWhitehead XML 本身并不重要——我可以根据需要进行更改。我想知道的是我应该使用哪些 .NET 类以及它们希望如何呈现数据 - 我可以呈现它们,但它们需要它。