Reconhecimento em caligrafia chinês
-
20-09-2019 - |
Pergunta
Estou procurando uma solução de reconhecimento de caligrafia. Eu encontrei um aqui, que é um aplicativo flash. Qual é o princípio de como funciona? Faz alguma dúvida para DB para encontrar o personagem?
Solução
Faça isso uma vez para o japonês (inclui o conjunto de caracteres chinês). Eu havia dividido a operação em 4 etapas, repetidas a cada golpe:
Conte o número de golpes totais
Determine a ordem do AVC (a ordem de cada golpe é importante)
Determine o STROKE START e END RADIAN (Observe que o espaço de desenho está dividido em radianos)
O banco de dados estreito abaixa as correspondências, com base nos resultados acima.
Outras dicas
Você pode usar várias informações, como número de traços, ângulo de partida e final, número de interseções em cada golpe, etc. para ajudar a restringir as coisas (seu exemplo de aplicativo parece restringir os resultados), dado um um Banco de dados, é claro. No entanto, o reconhecimento de caligrafia não é uma coisa muito fácil de fazer.
Existem algumas soluções diferentes para o reconhecimento de manuscrito/gesto. O que eu aprendi é com as redes neurais artificiais, em particular a rede perceptron multicamada. Em poucas palavras, você alimenta algumas amostras de teste que estão corretas, você treina essa rede e a usa para testar na nova entrada. Coisas semelhantes no Flash que também usam essa rede são esses 20 jogos de perguntas.
Existem algumas outras maneiras de fazê -lo, algumas mais simples e provavelmente mais complicadas, mas meu conhecimento deles é ruim.
Aqui está uma biblioteca de código aberto em JavaScript. O algoritmo é bem direto e, de fato, muito próximo do que a resposta do STHG descreve. Ele vem com dois conjuntos de dados de caracteres. https://github.com/gugray/hanzilookupjs