本人通过一路视频服务器采用sdk函数采集的图像byte[]能转换为image显示,而通过四路视频图像的采集到的byte转成image全黑。且原采集的图像大小为704*576,长度为64241;而后来采集的长度为15081,但是大小为1280*720.感觉不是很对应。
通过视频服务器的sdk采集得到图像,byte[] st, 其中len为图像长度。bytes转image的程序如下。
MemoryStream ms = new MemoryStream(st);
ms.Write(st, 0, len);
Image tmp= Image.FromStream(ms);
pictureBox1.Image = tmp;
// Size tmpsize = tmp.Size;
前后的tmp参数与显示效果如下图 (显示图右侧为显示视频中采集到的一帧图)
[/b]
通过视频服务器的sdk采集得到图像,byte[] st, 其中len为图像长度。bytes转image的程序如下。
MemoryStream ms = new MemoryStream(st);
ms.Write(st, 0, len);
Image tmp= Image.FromStream(ms);
pictureBox1.Image = tmp;
// Size tmpsize = tmp.Size;
前后的tmp参数与显示效果如下图 (显示图右侧为显示视频中采集到的一帧图)
解决方案
10
10
这个问题涉及硬件使用。
既然一路可显示,四路就全黑,八成是四路采集回来的byte[]里面的图像格式并不是一个图像,可能是4路图像的合成图,所以当一幅图来显示肯定出错。
因此,必须先了解四路采集来的byte[]格式到底是什么,才能进行下一步操作。
既然一路可显示,四路就全黑,八成是四路采集回来的byte[]里面的图像格式并不是一个图像,可能是4路图像的合成图,所以当一幅图来显示肯定出错。
因此,必须先了解四路采集来的byte[]格式到底是什么,才能进行下一步操作。