在Java中从相机接收图像时的伪像

时间:2010-08-27 13:55:00

标签: java image camera artifacts

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

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

alt text

alt text

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

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

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

感谢您的任何意见或建议。

2 个答案:

答案 0 :(得分:1)

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

答案 1 :(得分:1)

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