Кадрирование изображений с помощью Leptonica API -> ИЛИ какую обработку изображений использовать в Lib? - PullRequest
3 голосов
/ 22 декабря 2011

Я пытаюсь сделать две вещи -> Сначала мне нужно прочитать изображение и обрезать его (координаты / рамка будут предоставлены пользователем). Тогда я хочу запустить OCR над ним. (На самом деле обрезка и распознавание текста должны быть строго разделены). Теперь к моей проблеме:

Для распознавания текста я использую Tesseract, который использует API Leptonica для обработки изображений. Поскольку я программирую для встроенного устройства, я хочу, чтобы количество разных библиотек было низким. Поэтому мой лучший интерес - обрезать мое изображение с помощью Leptonica, поэтому мне не нужна третья библиотека для выполнения этой задачи.

Итак, мой вопрос сейчас, как я могу вырезать кадры с Leptonica? Есть ли способ?

Ответы [ 2 ]

3 голосов
/ 19 июня 2013

ответ Stativ работает, но вы должны удалить созданные объекты:

BOX* box = boxCreate(startX, startY, width, height);
PIX* pixd= pixClipRectangle(pixs, box, NULL);
boxDestroy(&box);

и для PIX * есть

pixDestroy(&pix);
3 голосов
/ 22 декабря 2011

В неофициальной документации есть пример, который, кажется, включает обрезку: http://tpgit.github.com/Leptonica/croptext_8c_source.html

Чтобы быть более точным, вы должны создать поле (т.е. окно обрезки) и затем вызвать функцию pixClipRectangle () дляобрезать изображение:

BOX* cropWindow = boxCreate(x, y, w, h);
PIX* croppedImage = pixClipRectangle(image, cropWindow, NULL);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...