【Java】如何把通过串口传递过来的jpeg图像数据流还原显示成jpeg图像

huyoulai 发布于 2012/05/07 16:02
阅读 3K+
收藏 1
通过串口摄像头拍到一张JPEG图片,然后通过串口把图片的数据发送到PC机,我已经接收到这些数据。但是怎么还原显示就不明白,希望各位不吝赐教。(其中可能涉及到jpeg图像的压缩与解码 最好用java实现 )  希望曾做过类似的把代码贴出来
加载中
0
Monkey
Monkey
数据流是不是纯的JPEG啊,如果是ImageIO. read( InputStream input)就可以了
0
h
huyoulai

引用来自“Monkey”的答案

数据流是不是纯的JPEG啊,如果是ImageIO. read( InputStream input)就可以了
串口数据流是二进制码如(FF FE 00 24 95 02 64 74 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 E0 01 80 02 08 00 32 12 0B 51 04 51 04 00 00 FF……)不知该怎样办
0
Monkey
Monkey
如果是标准的JPEG数据流,而且数据完整,接受完数据流之后,ImageIO.read(new ByteArrayInputStream(bs))
0
h
huyoulai

引用来自“Monkey”的答案

如果是标准的JPEG数据流,而且数据完整,接受完数据流之后,ImageIO.read(new ByteArrayInputStream(bs))
好像不行 这样显示出来的图像时白的  可能数据流要经过什么变换吧
0
Monkey
Monkey

引用来自“huyoulai”的答案

引用来自“Monkey”的答案

如果是标准的JPEG数据流,而且数据完整,接受完数据流之后,ImageIO.read(new ByteArrayInputStream(bs))
好像不行 这样显示出来的图像时白的  可能数据流要经过什么变换吧
那就说明数据流不是标准的图片流啊。你那个串口设备是不是单片机这种东西啊,如果是的话他们基本上不会使用标准图片的,都是自己格式的图片。这个你就要看串口设备到底是怎么定义的。
0
h
huyoulai

引用来自“Monkey”的答案

引用来自“huyoulai”的答案

引用来自“Monkey”的答案

如果是标准的JPEG数据流,而且数据完整,接受完数据流之后,ImageIO.read(new ByteArrayInputStream(bs))
好像不行 这样显示出来的图像时白的  可能数据流要经过什么变换吧
那就说明数据流不是标准的图片流啊。你那个串口设备是不是单片机这种东西啊,如果是的话他们基本上不会使用标准图片的,都是自己格式的图片。这个你就要看串口设备到底是怎么定义的。

接收到的数据如下:(以FF D8 开始   FF D9结束)

FF D8 FF DB 00 84 00 13 0D 0E 10 0E 0C 13 10 0F 10 15 14 13 16 1C 2F 1E 1C 1A 1A 1C 39 29 2B 22 2F 44 3C 47 46 43 3C 42 40 4B 54 6C 5B 4B 50 66 51 40 42 5E 80 5F 66  ………………………………………………………………………………28 A0 02 8A 00 FF D3 ED 68 A0 02 8A 00 28 A0 02 8A 00 28 A0 02 8A 00 28 A0 02 8A 00 28 A0 02 8A 00 FF D4 ED 68 A0 02 8A 00 28 A0 02 8A 00 28 A0 02 8A 00 28 A0 02 8A 00 28 A0 02 8A 00 FF D5 ED 68 A0 02 8A 00 28 A0 02 8A 00 28 A0 02 8A 00 28 A0 02 8A 00 28 A0 02 8A 00 FF D9

h
huyoulai
回复 @Monkey : 自发自收啊
Monkey
Monkey
回复 @huyoulai : 去找摄像头厂家的技术文档去。说不定人家就是用自己的格式呢。
h
huyoulai
回复 @Monkey : 串口摄像头发送图片 通过串口接收到的数据就这样 这是应该jpeg图像的编码
Monkey
Monkey
这个数据是谁发给你的,你问他这个数据到底是怎么编码的,否则你这样瞎猜是搞不定的。
返回顶部
顶部