Библиотека изображений Java - превратить изображение сетки в массив - PullRequest
1 голос
/ 02 марта 2012

Если у меня есть изображение таблицы коробок, с некоторыми цветами, есть ли библиотека обработки изображений, которая может помочь мне превратить это в массив?

Спасибо

1 Ответ

0 голосов
/ 02 марта 2012

Вы можете использовать функцию порогового значения для преобразования изображения в двоичное изображение в темные / светлые пиксели, чтобы темные пиксели были равны 0, а светлые - 1.

Затем вы захотите удалить артефакты изображения, используя функции расширения и эрозии, чтобы удалитьшум (все они хорошо определены в Википедии).

Наконец, если вы знаете, где находятся поля, вы можете просто получить значение в центре каждого блока, чтобы определить значение массива, или, возможно, использовать область рядомцентр и возьмите преобладающее значение (т. е. больше 0 - это заполненный квадрат, больше 1 - это пустой квадрат).

Если вы сканируете эти ящики, и их расположение сильно варьируетсяВам потребуется выполнить некоторый уровень регистрации изображений с использованием известных точек или опорных точек.

Что касается инструментов, которые можно использовать для этого, я бы рекомендовал сначала попробовать это вручную, используя такой инструмент, как ImageJ , который имеет пользовательский интерфейс и может также использоваться программно, поскольку он написан на Java.

Другой хороший библиотекарьЭто включает OpenCV и Java Advanced Imaging API.

Ваши результаты будут определенно отличаться в зависимости от входных изображений и их постоянного освещения и расположения.

Лучший способ узнать, как это будет работать с вашими данными, - это попробовать применить эти этапы обработки вручную, чтобы увидеть, где должно быть ваше пороговое значение, насколько необходимо расширение / размытие, чтобы получить согласованные результаты.

...