繁体   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