如何将字节数组类型的双重形象吗?

11视图(30天)
我目前从事在线SfM和我需要发的图片从Android手机到Matlab。我设法发送字节的数据Matlab从Android通过TCP / IP套接字编程,但我不能把它转换成图像。我期望的图像将会保存在目录或如果可能的话直接被SfM管道所描述的这个链接: 结构运动从两种不同的观点 。我试图解码与java这里所描述的那样: 如何将一个细胞数组转换成一个图像? ,但它不工作。我得到了一个错误”结构内容参考non-struct数组对象。”在“高度= jimage.getHeight;”。你知道怎么解决这个问题?或者你知道如何在Matlab这样做正确吗?
这是代码:
t = tcpip (“0.0.0.0”,8889,“NetworkRole”,“服务器”);
集(t)“InputBufferSize”,3000000);
集(t)“超时”,30);
disp (“等待连接…”);
fopen (t);
(1)
如果(t。BytesAvailable > 0)
disp (连接成功。);
rawData =从文件中读(t, t.BytesAvailable);
rawData;
jimage = javax.imageio.ImageIO.read (java.io.ByteArrayInputStream (rawData));
身高= jimage.getHeight;
宽度= jimage.getWidth;
像素=重塑(定型(jimage.getData.getDataStorage“uint8”),3、宽度、高度);
img =猫(3
置(重塑(像素(3::),(宽度、高度))),
置(重塑(像素(2::),(宽度、高度))),
置(重塑(像素(1::),(宽度、高度))));
imshow (img);
结束
结束
文件关闭(t);
这是我得到的数据样本“谁rawData”:
大小:390964 x1
字节:3127712
类:双

答案(1)

沃尔特·罗伯森
沃尔特·罗伯森 2016年11月7日
试一试
rawData =从文件中读(t t.BytesAvailable‘* uint8‘);
4评论
沃尔特·罗伯森
沃尔特·罗伯森 2017年2月14日
如果你的意思是你有一个数据流,然后在数据流到底是什么呢?例如它只是阅读的结果一个jpg流在串行端口和发送的字节数吗?

登录置评。

类别

找到更多的在图像类型转换帮助中心文件交换

社区寻宝

找到宝藏在MATLAB中央,发现社区如何帮助你!

开始狩猎!