Хотите преобразовать org.bytedeco.javacpp.lept.PIX в byte [] и буферизованное изображение - PullRequest
0 голосов
/ 06 февраля 2019

Я хочу написать утилиту, которая преобразует org.bytedeco.javacpp.lept.PIX в byte[] и BufferedImage.Я пробовал следующее:

1) с помощью Java2DFrameUtils, но он инвертирует мои цвета изображения (1-> 0 и 0-> 1) с кодом:

LeptonicaFrameConverter c = new LeptonicaFrameConverter();
 Frame f = c.convert(src);
 BufferedImage img = Java2DFrameUtils.toBufferedImage(f);

2) этот подход не использует пакет org.bytedeco.javacpp, поэтому он мне не помогает.

3) Когда я пытаюсь использовать PointerPointer и SizeTPointer этого пакета, я получаю сообщение об ошибке

"Error in pixWriteMem: &data not defined".

Вот мой код:

    PointerPointer pp = new PointerPointer();
    SizeTPointer psize = new SizeTPointer();
    lept.pixWriteMem(pp, psize, src, lept.IFF_TIFF);
    byte[] by = pp.asByteBuffer().array();
    BufferedImage img = ImageIO.read(new ByteArrayInputStream(by));

Любая помощь будет оценена.ТИА.

...