Cómo clasificar imágenes de texto en inglés y en otros idiomas usando SVM

Suponiendo que tiene las imágenes de texto impreso y no escrito a mano. Te sugiero que veas cómo lo hace tesseract. Tesseract es un motor de OCR de código abierto de Google que admite varios idiomas. Puede especificar los idiomas como opción en la línea de comandos y no solo detecta el carácter que pertenece a ese idioma, sino que también lo clasifica con una precisión muy alta.

EDITAR: entiendo que la respuesta anterior no responde la consulta directamente. En pensamientos alternativos, dado que los caracteres son exactamente del mismo tamaño, la coincidencia de patrones es una solución bastante factible para esto, es decir, verificar iterativamente los caracteres (26 mayúsculas + 26 pequeños). Entrenar el svm para estas 52 clases y evaluar cada imagen mediante ese archivo de entrenamiento conducirá a casi exactamente el mismo resultado que el de la coincidencia de patrones.
Personalmente sugiero ir con la coincidencia de patrones.

Puede crear un vector de características a partir de cada imagen, utilizando los píxeles en bruto o algún método de extracción de características adecuado (por ejemplo, PCA para características de baja dimensión) y luego combinarlos para crear una matriz de características. Además, cree un vector de etiqueta que tenga el mismo número de entradas que el número de filas del vector de características (número de imágenes). Asigne una etiqueta a cada alfabeto, por lo que en caso de que sea inglés, el vector de la etiqueta tiene valores 1-26. Luego, dele estos datos al SVM para obtener un modelo SVM entrenado, que luego puede usar en línea. En caso de que use LIBSVM (@http: //www.csie.ntu.edu.tw/~cjli…) use las funciones svmtrain y svmpredict. Está bien documentado