2015-05-17 7 views
1

У меня есть набор символов хираганы, и я хочу, чтобы подсчитывал количество штрихов.Как я могу получить количество штрихов в символе (хирагана)?

Мои входные изображения, как:

характер ма:

enter image description here

характер ку:

enter image description here

Выход будет число ходов, например, в символ ma вернет 3 удара:

enter image description here

и характер ку вернется 1 удар:

enter image description here

Я попытался Осторожные, Хью и скелетирование. Это не дало мне того, что я хотел.

Я думаю о подсчете непрерывных линий, но я не знаю, как это сделать. Я нашел это ответил на вопрос, который находит разрыв круга here, но она применяется только на кругах


* [Изображения объявлены как Mat. Я использую C++, Visual Studio 2013, gcc 4.8.3 и opencv 2.4.9.]

Спасибо заранее.

+0

Таким образом, эта проблема имеет несколько частей. Один получает линии, а второй обрабатывает их, чтобы выяснить количество ударов. Каким образом «Canny, Hough, and Skeletonization» не удалось получить количество строк (или разложить изображение на ряд строк)? – mprat

+0

@mprat Думаю, я просто не мог получить правильную комбинацию параметров для Canny, Hough и Skeletonization, которые не дали мне результатов, которые я хотел. Тем не менее, я все еще открыт для их использования. –

ответ

0

Очевидно, что ответа на этот вопрос нет. Однако есть несколько эвристик, которые вы могли бы использовать.

Одним из вариантов является определение и подсчет числа s советов по инсультам. Количество штрихов будет аппроксимировано ceil(s/2).

  • Если s еще, это приемлемое приближение.
  • Если s странно, вам нужно выяснить, что это означает для вашего приложения.

Конечно, письмо, как есть только 2 подсказки, с второй внутренней линией. Если это произойдет и в Хирагане, вам придется искать переходы и выяснить, что там происходит.