-1

我正在做一个项目,我必须将从相机芯片捕获的图像显示到 PC 上。

图像数据正在通过 COM7 端口发送到计算机。(我已经使用哑终端程序检查了它)。基本上我想做的是开发一个Java程序来读取COM端口,获取图像数据,处理它并在屏幕上显示它。

我想知道的是如何在我的 Java 程序中从 COM7 端口读取这些图像数据。

4

2 回答 2

1

对于问题的串行端口部分,请像读取任何其他文件一样读取串行端口。

  • 在'nix 上,串行端口被命名为/dev/ttySnn 0-3 用于 COM1 到 COM4。我猜如果存在更多串行端口,您的系统上也会存在适当命名的文件来访问这些端口。
  • 在 Windows 上,您可以只使用特殊文件名COM1,COM2等。

至于实际读取图像数据,正如其他人所提到的,您需要知道它是什么格式。ImageIO.read()如果它是Java已知的文件格式之一,您可以尝试使用。如果它是原始位图格式,您可以尝试通过从 Raster 创建 BufferedImage 以及从适当的 SampleModel 和 DataBuffer 创建 Raster 来从原始数据构造缓冲图像。但是,您需要知道位图数据的格式才能执行此操作。

于 2012-04-12T20:19:56.510 回答
0

您可能想从从端口读取数据开始。为此,Socket可能很有用。

由于您“认为”数据将是字节...尝试以下操作:

BufferedImage img = ImageIO.read(new ByteArrayInputStream(bytes));

您还可以查看相关帖子

于 2012-04-12T20:07:30.140 回答