2013-11-09 3 views
1

У меня есть задание на исследование, где мне нужно написать программу Java для трассировки (векторизации) изображений.Какие части процесса трассировки изображения могут обрабатываться классами в JDK?

Я могу использовать только JDK 1.5 и выше; поэтому я должен будет реализовать некоторые алгоритмы там, где это необходимо.

Программа должна пройти следующие этапы:

  1. сокращение цвета (цвет квантования); [Для набора цветов или максимального количества цветов]
  2. Удаления областей [с заданным максимальным размером]
  3. обнаружения края
  4. сегментов Упрощения [минимум алгоритм Дугласа-Peucker]
  5. Круглые сегменты в кривых
  6. Выход в SVG

Я хочу, чтобы убедиться, что я использую API для JDK везде, где это возможно. Мои предыдущие исследования, однако, действительно не отображали много полезных ресурсов. (Самый полезный ресурс до сих пор является документацией Sun о JAI-Java Advanced Imaging API - по адресу this location)

Вопрос: какой из этих шагов можно обрабатывать или облегчать - по классам в JDK?


Поскольку это довольно сложный вопрос, я могу поставить 250 баллов за один раз, как только смогу.

+1

У вас есть конкретный вопрос? – Joni

+1

«Какие части процесса трассировки изображения могут обрабатываться классами в JDK?» ;) Я добавил его на свой пост. – FK82

+1

Я рекомендую вам начать что-то делать, и если вы найдете проблемы, задайте вопрос, но очень сложно ответить на ваш вопрос, не выполняя всю вашу домашнюю работу для вас. – Rafa

ответ

1

Занятия, написанные с использованием JDK, могут обрабатывать все аспекты процесса трассировки изображения (поскольку Java - это Turing complete и существуют трассировки изображений, они могут быть реализованы в Java - QED). Что касается ваших конкретных областей запроса,

1) Да! JAI включает в себя методы quantization.
6) Да! Попробуйте Batik SVG Toolkit, особенно SVG Generator.
2-5) Вам нужно будет реализовать. 4), в частности, похоже, что имеются некоторые реализации, но я не исследовал их подробно.
+0

Спасибо. Я не могу включать внешние библиотеки (только JDK). Отсюда мой вопрос. – FK82

+0

Также - для уточнения - я не спрашивал, можно ли написать трассировщик изображений в Java (это заданный); Я спрашивал, есть ли в некоторых частях этого процесса реализации в JDK или могут быть облегчены классы в JDK (например, библиотека JAI). – FK82

1

Выбор Java для инструмента обработки изображения JAI. Имеется документация, доступная и совместимая с остальными инструментами Java.

вам нужно реализовать такие задачи обработки изображений и алгоритмы или просто применить и получить их последствия ли? Даже вы можете использовать чистый JDK, я настаиваю на том, чтобы помогать с внешними библиотеками. FMHO - лучшая альтернатива.

Предлагаю перейти на Open CV, действительно полную и стабильную библиотеку обработки изображений. У этого есть поддержка Java и хорошая документальная доступность, и вы найдете также скомпрометированный community.

Stuffs, как вы упомянули:

  1. сокращение цвета (цвет квантования); [Для набора цветов или максимального количества цветов]
  2. Удаления областей [с заданным максимальным размером]
  3. обнаружение края сегментов Упрощения [минимум алгоритм Дугласа-Peucker]
  4. Круглых сегментов на кривой

Так же просто, как использовать функции библиотек и о SVG. Думаю, он также может быть выполнен с ним.

1

Какие части процесса трассировки изображения могут обрабатываться классами в JDK?

Java может обрабатывать все процессы, требуемые вашей программой обработки изображений, без проблем. Реальный вопрос: хотите ли вы написать свои собственные классы или использовать стороннюю библиотеку?

+0

Вы должны указать требуемые классы Java или инструменты платформы – diegoaguilar