2012-04-12 69 views
-1

我正在做一個項目,在該項目中我必須將從相機芯片捕獲的圖像顯示在PC上。從Java中的COM7端口讀取圖像數據

圖像數據通過COM7端口發送到計算機。 (我使用啞終端程序進行了檢查)。基本上我想要做的是開發一個Java程序,它將讀取COM端口,獲取圖像數據,處理它並將其顯示在屏幕上。

我想知道的是如何在Java程序中從COM7端口讀取此圖像數據。

+0

沒有足夠的信息來回答。數據流以什麼格式? – 2012-04-12 03:55:23

+0

我認爲這是字節 – stud91 2012-04-12 05:12:26

+0

這是沒有意義的。什麼*文件或圖像格式*是流數據? – 2012-04-12 05:13:54

回答

0

您可能想要從讀取端口數據開始。爲此,Socket可能會有用。

既然你「思考」的數據將字節......請嘗試以下操作:

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

你也可以檢查出related

1

有關問題的串行端口部分,閱讀串口像其他任何文件一樣。

  • 在'nix上,串行端口被命名爲/dev/ttySn,其中n 0-3表示COM1到COM4。我猜測如果存在更多的串行端口,系統上也會存在適當命名的文件以訪問這些文件。
  • 在Windows上,你可以只使用特殊的文件名COM1COM2

至於實際讀取圖像數據,如其他人所說,你需要知道它是什麼格式。您如果它使用Java的已知文件格式之一,則可以嘗試使用ImageIO.read()。如果採用原始位圖格式,則可以嘗試通過從Raster創建BufferedImage和從適當的SampleModel和DataBuffer創建Raster,從原始數據構建緩衝圖像。但是,您需要知道位圖數據的格式。

+0

根據相機規格的數據格式爲: 數據格式 - YCrCb 4:2:2,GRB 4:2:2,RGB原始數據 – stud91 2012-04-14 07:14:54