Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   Распознавание графики на JS (https://javascript.ru/forum/misc/60883-raspoznavanie-grafiki-na-js.html)

Keramet 25.01.2016 15:43

Распознавание графики на JS
 
Доброго времени суток!
Какие существуют средства для распознавания графики?
Если конкретнее: есть отсканированные изображения шахматных позиций, хочется попробовать обработать эти изображения и получить список всех присутствующих фигур и поля, на которых они присутствуют.
Например, вот изображение:

после обработки хочу получить что-то типа:
white = {
  king: "h6",
  quin: "a3",
  knight: "c7",
  p: ["b4", "c3", "g2"]
};

black = {
  king: "f6"
}

Интересуют инструменты для работы с графикой, как обработать графику на JS? Куда, так сказать, "копать" :) ?

P.S. а уменьшить размер картинки в этом посте?

laimas 25.01.2016 15:50

http://habrahabr.ru/post/274725/

Keramet 25.01.2016 16:51

laimas,
не совсем понял, что вы хотели этой статьёй мне сказать :-?

laimas 25.01.2016 17:04

Цитата:

Сообщение от Keramet
не совсем понял, что вы хотели этой статьёй мне сказать

Что это серьезный вопрос и работа не на раз плюнуть. О развенчании мифов "что все просто" как раз в данной статье.

Keramet 25.01.2016 17:25

Я согласен, тема не проста - поэтому и хочу её попробовать реализовать. у меня, к примеру, куча старых шахматных книг, все диаграммы довольно стандарнтны, фигуры похожы.
Предположим, что у меня есть база (как описано в этой статье) и принято решение, что такое возможно реализовать. мне интересно - с чего тут лучше начать? я так понимаю, выбор будет между canvas u SVG. Или есть другие библиотеки, которые подходят для подобного рода задач? возможно, кто-то сталкивался

laimas 25.01.2016 17:27

Цитата:

Сообщение от Keramet
тема не проста - поэтому и хочу её попробовать реализовать.

Ищите в сети компьютерное распознавание образов, читайте, пробуйте.

Keramet 25.01.2016 18:30

Для начала хотя бы определить клетки, в которых есть фигуры ))

laimas 25.01.2016 18:34

Вы сначала игровое поле определите хотя бы. Вряд ли JS для таких задач подходящий язык.

Яростный Меч 26.01.2016 00:59

Keramet,
А где будет выполняться код? Браузер или нода?
В первом случае используй канву и получение цветов пикселей, во втором - наверняка есть модули для всех основных форматов картинок.
В обоих случаях в результате ты имеешь на руках двумерный массив цветов пикселей. А дальше кури матчасть. Однако, полагаю, для шахматных картинок все несколько проше, чем для произвольного случая. Сначала определить размер клеток, потом для каждой клетки считать некий хэш и по нему определять тип фигуры.

laimas 26.01.2016 01:16

Цитата:

Сообщение от Яростный Меч
потом для каждой клетки считать некий хэш и по нему определять тип фигуры.

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

Да и не обязательно цвет, это скорее помеха.


Часовой пояс GMT +3, время: 13:58.