【发布时间】:2013-08-07 04:58:54
【问题描述】:
我正在尝试通过 c# 应用程序从指纹扫描仪获取图像,但是当通过 UART 传输时,为了加快速度,只传输像素的高 4 位(即 16 灰度)。并且同一行的两个相邻像素在传输之前将形成一个字节。
因此,我使用以下代码将该字节流转换回图像:-
MemoryStream ms = new MemoryStream(byteArrayIn);
Image returnImage = Image.FromStream(ms);
pictureBox2.Image = returnImage;
但它给了我错误
“参数无效”
为:
Image returnImage = Image.FromStream(ms);
我收到了大约 500 字节的数据。谁能提供任何解决方案,以便将图像上传到 PC 时,16 度灰度图像可以扩展为 256 度灰度格式,即 8 位 BMP 格式。
【问题讨论】:
-
那么数据是什么格式的?
-
Image.FromStream或其处理其他来源的兄弟姐妹之一实际上期望完全格式化的图像文件,即。完整的 Jpeg 或 PNG 文件,而不仅仅是原始像素值。图像文件格式不仅仅是像素。现在,将半字节(4 位)解码为字节是一个问题,但将其放入Image对象是另一个问题。你需要帮助哪一个?两者都有? -
此外,大约 500 个字节的数据,每个包含 2 个 4 位半字节,转换为大约 1000 个像素。图片有多大? 40*25?
标签: c#