8

Я изучаю возможность обработки изображений, чтобы идентифицировать определенные объекты, а также считать их на изображении.Подсчитайте количество объектов в изображении

Мне будет предоставлена ​​фотография, и мне нужно определить количество ящиков, присутствующих на этом изображении.

Есть ли у кого-нибудь опыт работы с любыми библиотеками машинного зрения/обработки изображений, такими как ImageJ, Fiji, JAI, jMagick, Java Vision Toolkit? Какой, по вашему мнению, лучше всего подходит для работы? Что вы предлагаете? Если API можно использовать с Java, было бы лучше. Спасибо.

Редактировать: Я имею дело со складскими коричневыми коробками. Да, я говорю о обычных фотографиях. Источником обычно является изображение мобильного телефона.

Редактировать 2: Извините, но ответ авторизован. : (

+1

Это инвестиции, но у MATLAB есть функции для этого. См., Например, http://blogs.mathworks.com/steve/2006/06/02/cell-segmentation/ –

+0

Насколько абстрактна эта проблема распознавания образов? Что вы подразумеваете под «коробками»? Вы имеете дело с обычными фотографиями? – Amichai

+2

дайте нам пример фотографии. – ton4eg

ответ

8

Если вы должны придерживаться Java, вы все равно можете использовать OpenCV.

  1. Если это только боксы, вы можете использовать Hough Transforms, чтобы их обнаружить.
  2. Вы можете использовать OpenSURF для обнаружения телефонов на основе исходных изображений, которые вы ему подаете.
  3. Не думайте, что это возможно в вашем случае: HAAR Cascades. Вы можете создать пользовательский кластер HAAR, но процесс обучения может занять много времени.

НТН, Джордж

10

Я никогда не использовал библиотеки, перечисленные, но я использовал OpenCV

OpenCV хорошо поддерживается и проверенная библиотека компьютерного зрения Это встроенные функции для подсчета числа примитивных форм в изображении.. Это написано на C++, но вы можете создать небольшую обертку, которая будет вызвана через JNI.

RoboRealm - еще одна проверенная система компьютерного зрения, используемая роботизированными любителями. Это коммерческий продукт с закрытым исходным кодом, который использует API управления на основе сокетов.

http://opencv.willowgarage.com/wiki/FullOpenCVWiki

http://www.roborealm.com/index.php

5

В Java есть несколько проектов, которые расширяют API Java Advanced Imaging, чтобы обеспечить компьютерное зрение:

  • JavaVis
  • обработки изображений в Java + IPJ - расширение компьютерного зрения для JAI
  • Java Vision Toolkit - JVT (EDIT: opps, это упоминается в вопросе.)

Для JavaVis существует paper, который представляет библиотеку, сравнивает и сопоставляет с этими двумя другими упомянутыми библиотеками.

JavaVis имеет следующие особенности:

  • обрабатывает 2D и 3D изображения (3D является наиболее актуальным в данном случае)
  • Имеет графический интерфейс для инспектирующих потенциальных результатов
  • экспорт изображений Matlab

Также для java является NeatVision. В отличие от других, документация хорошо видна для этого проекта.

Ни один из этих проектов не даст вам простого решения «под ключ». Вам нужно будет понять, как работает компьютерное зрение, и создать последовательность шагов обработки на фотографиях, чтобы помочь получить наилучшие результаты от алгоритмов видения. С этой целью JavaVis может быть наиболее полезен, поскольку он направлен на обучение компьютерному видению.

1

готовы развивать свой собственный код, который Вы? Существует несколько методов, которые могут быть применены и настроены на вашу конкретную проблему, но я никогда не использовал упакованную библиотеку, всегда разрабатывал свой собственный код. Я могу предоставить ссылки на это, если вам интересно.

+0

Мне было бы очень интересно. Спасибо. – unj2

5

Если вы не говорите об обработке изображений в реальном времени, вы можете написать API до Amazon Mechanical Turk.

+0

Отличное решение для бокового мышления. А по некоторым параметрам один из самых дешевых и надежных тоже. – MZB

+0

foarte tare :)! +1 –

Смежные вопросы