0

大家好,奇怪的问题。我的公司有一个来自另一家公司的应用程序,它记录了通过以太网连接的相机拍摄的图像。他们的应用程序是用 C++ 编写的,我一直在尝试使用 Java 对其进行转换/破解。

我能够接收图像,但质量不一样。顶部的照片来自他们的应用程序,底部的照片来自我的:

替代文字

替代文字

知道为什么这些工件会出现在我用 Java 编写的应用程序版本中吗?BMP 和 JPG 图像都会发生这种情况。

它的工作方式只是通过套接字(C++ 和 Java 版本)......发送命令以捕获图像,相机通过发送数据(字节)来响应。我保存一个字节数组,然后从它们创建一个新的 BufferedImage:

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

感谢您的任何意见或想法。

4

2 回答 2

1

这看起来像是一个调色板问题,即各个像素的数值保持不变,但是将这些值映射到实际 RGB 值的表格可能会混乱(实际上,看具体的图片,甚至可能是源是BW和你的是颜色)。我的猜测是传输不是问题。如果您愿意,请尝试发送一个已知的字节串来确认,但我会进一步专注于图像编码。

于 2010-08-27T13:58:52.067 回答
1

会不会是数据类型问题?数据格式是什么?(整数,短裤,无符号短裤?)

于 2010-08-27T14:01:06.727 回答