2014-09-12 2 views
-1

Я пытаюсь создать код для распознавания OMR с помощью Java. Я столкнулся с проблемой, когда объекты в отсканированном изображении не имеют того же положения, что и шаблон, который я использую.Обрезка изображений в Java

Чтобы решить эту проблему, я решил разместить границы изображения, и когда я вырезал изображение с помощью границ, я могу получить правильные значения. Теперь для этого я вручную вырезал «Картинки», но я хочу также обрезать изображения с помощью Java.

Я знаю, что я могу получить прямоугольный отбор из класса CropImageFilter. Но как я могу сообщить программе о том, откуда она должна начинаться? Может ли кто-нибудь помочь мне с этим?

+2

Может быть, это я, но ваш вопрос очень для меня неясным. –

+0

Не ваш нисходящий избиратель, кстати. –

+0

Если вы хотите найти позицию знака, можете взглянуть на источник с открытым исходным кодом, ссылки в [wikipedia] (http://en.wikipedia.org/wiki/Optical_mark_recognition). –

ответ

0

Вы можете иметь взгляд на Constructor из CropImageFilter:

CropImageFilter(int x, int y, int w, int h)

конструирует CropImageFilter, который извлекает абсолютную прямоугольную область пикселов от его исходного изображения, как определено х, у, ш, и h параметров.

+0

Да, я знаю об этом. Я хочу знать, как получить значения x и y для изображения. – cbandroid

2

Если вы не используете Java 7

Тогда самый простой способ я знаю, делать это:

private BufferedImage cropImage(BufferedImage source, Rectangle newDim) { 
     return source.getSubimage(0, 0, newDim.width, newDim.height); 
    } 
Смежные вопросы