Кроме заморочек с приведением разноформатных данных в единый и понятный вид, приложение должно было быть дружелюбным для пользователя. Человек не фотографирует бланки, ориентируя их так, как мы ему сказали - он делает это так, как ему удобно. Поэтому основная часть созданных алгоритмов была направлена на то, чтобы восстановить ориентацию бланка. Символы мы могли распознать под многими углами, но табличная форма из-за кривизны листа искажалась, и было суперважно восстановить правильную ориентацию листа, даже если бланк был загнут, сложен, расположен под углом к камере, имел засветки от вспышки. С точки зрения решений, которые использовались, это было не просто сложно, а, возможно, даже грандиозно. Все равно, что обучить приложение распознавать “почерк врача” и выдавать его в понятном для пользователя виде - а ведь и такие приложения уже существуют!
С одной сторны - это действительно очень удобная фича. А с другой, пользоваться будут единицы, мне кажется.