[英]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.