簡體   English   中英

使用Java從相機接收圖像時的工件

[英]Artifacts when receiving image from camera in Java

大家好,奇怪的問題。 我公司有另一家公司的應用程序,該應用程序記錄通過以太網連接的攝像機拍攝的圖像。 他們的應用是用C ++編寫的,我一直在嘗試使用Java對其進行轉換/修改。

我可以接收圖像,但是質量不一樣。 頂部的照片來自他們的應用,底部的照片來自我的:

替代文字

替代文字

知道為什么這些工件會顯示在我用Java編寫的應用程序版本中嗎? BMP和JPG圖像均會發生這種情況。

它的工作方式僅通過套接字(C ++和Java版本)...發送命令以捕獲圖像,然后照相機通過發送數據(字節)進行響應。 我保存一個字節數組,然后從它們創建一個新的BufferedImage:

// Create buffered image from bytes
image = ImageIO.read(new ByteArrayInputStream(imageBytes));

感謝您的任何意見或建議。

這看起來像一個調色板問題,即各個像素的數值保持不變,但是將這些值映射到實際RGB值的表可能會搞砸(實際上,查看特定的圖片,甚至可能是源是BW,您的則是彩色)。 我的猜測是傳輸不是問題。 嘗試發送已知的字節串以確認是否願意,但我將進一步關注圖像編碼。

可能是數據類型問題嗎? 數據格式是什么? (整數,短褲,無符號短褲?)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM