Артефакты при получении изображения с камеры в Java - PullRequest
0 голосов
/ 27 августа 2010

Привет всем, странный вопрос. У моей компании есть приложение от другой компании, которое записывает изображение, снятое камерой, подключенной через Ethernet. Их приложение написано на C ++, и я пытался преобразовать / взломать его с помощью Java.

Я могу получать изображения, но качество не такое. Фотография сверху - из их приложения, а фотография снизу - из моего:

alt text

alt text

Есть идеи, почему эти артефакты появляются в моей версии приложения, написанной на Java? Это происходит как с изображениями BMP, так и с JPG.

Способ работает только через сокеты (версии C ++ и Java) ... отправляется команда для захвата изображения, и камера отвечает, отправляя данные (байты). Я сохраняю массив байтов, затем создаю из них новый BufferedImage:

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

Спасибо за любой вклад или идеи.

Ответы [ 2 ]

1 голос
/ 27 августа 2010

Может ли это быть проблема с типом данных? Какой формат данных? (целые, шорты, шорты без знака?)

1 голос
/ 27 августа 2010

Это похоже на проблему палитры, то есть числовые значения отдельных пикселей остаются прежними, но таблица, отображающая эти значения на фактические значения RGB, может быть испорчена (на самом деле, глядя на конкретное изображение, это может быть дажеисточник BW, а ваш цвет).Я думаю, что передача не проблема.Попробуйте отправить известную строку, чтобы подтвердить это, если хотите, но я бы сконцентрировался на кодировании изображения.

...