在Java中从COM7端口读取图像数据
我正在做一个项目,我必须将从相机芯片捕获的图像显示在PC上。
图像数据通过COM7端口发送到计算机。 (我使用哑终端程序检查过它)。 基本上我想要做的是开发一个Java程序,它将读取COM端口,获取图像数据,处理它并在屏幕上显示它。
我想知道的是如何从我的Java程序中的COM7端口读取此图像数据。
对于问题的串行端口部分,请像任何其他文件一样读取串行端口。
- 在’nix上,串行端口被命名为
/dev/ttySn
,其中COM 0到COM4的n 0-3。 我猜测如果存在更多串行端口,系统上将存在适当命名的文件以访问这些文件。 - 在Windows上,您只需使用特殊文件名
COM1
,COM2
等。
至于实际读取图像数据,如其他人所述,您需要知道它的格式。如果它是Java已知的文件格式之一,您可以尝试使用ImageIO.read()
。 如果它是原始位图格式,您可以尝试通过从Raster创建BufferedImage,从适当的SampleModel和DataBuffer创建Raster,从原始数据构建缓冲图像。 但是,您需要知道位图数据的格式才能执行此操作。
您可能希望从端口读取数据开始。 为此, Socket可能很有用。
由于您“认为”数据将是字节…请尝试以下操作:
BufferedImage img = ImageIO.read(new ByteArrayInputStream(bytes));
您还可以查看相关post
- Grappa Graphviz点可视化问题和问题
- 如何对JPA查询进行分页
- java aes 256 java.security.InvalidKeyException:安装策略后出现非法密钥大小
- Java:使用KeyPress以一定角度移动对象并改变角度
- 远程webdriver – 使用Rest Client Extension(附加组件)传递firefox配置文件
- 使用Grails应用程序中的JNI本机库时出现UnsatisfiedLinkError
- 帮助在春季捕获会话超时
- tomcat中wtpwebapps和webapps文件夹之间的区别
- Tomcat使用Jersey Jax-RS在单个服务器上执行15K req /秒