29.08.2017, 19:21
|
Интересующийся
|
|
Регистрация: 14.11.2013
Сообщений: 10
|
|
Поиск в файле изображения листа А4
Надо сделать кнопу загрузить, после загрузки файла с картинкой проанализировать есть ли на ней белые поля от листа А4, т.е. Там фото документа или копии документа. Плюс поиск на картинке двух длинных параллельных строк с буквоцифрами. Распознавание не требуется. Решение нужно мультибраузерное и мультиплатформенное( в идеале и для десктопа и для мобильной версии) . За качественную и красивую работу и вознаграждение соответствующее.
|
|
30.08.2017, 00:03
|
Профессор
|
|
Регистрация: 14.01.2015
Сообщений: 12,990
|
|
Сообщение от valdur2000
|
Плюс поиск на картинке двух длинных параллельных строк с буквоцифрами. Распознавание не требуется.
|
И как без распознавания понять что это "буквоцифры"?
|
|
30.08.2017, 09:37
|
Интересующийся
|
|
Регистрация: 14.11.2013
Сообщений: 10
|
|
Сообщение от laimas
|
И как без распознавания понять что это "буквоцифры"?
|
Для распознавания символов у меня готова библиотека, которая работает как надо. Но что бы не сыпать в неё всякий мусор, для этого хочется на стороне клиента делать простой анализ - копия на листе А4 или нет? Есть две параллельные прямые или нет? А после анализа немного обработать, что ты на сервер распознавания полетел желательно только нужный кусок фотки. Но тут у меня пробел в образовании, что можно поделать инструментами из желаемого js.
Последний раз редактировалось valdur2000, 30.08.2017 в 09:40.
|
|
30.08.2017, 14:59
|
Профессор
|
|
Регистрация: 14.01.2015
Сообщений: 12,990
|
|
Сообщение от valdur2000
|
хочется на стороне клиента делать простой анализ - копия на листе А4 или нет? Есть две параллельные прямые или нет?
|
А пусть и две параллельные линии, разве это есть признак того, что это действительно копия документа, да еще и А4? Формат определяется размером (в пикселях), а он в свою очередь будет зависеть от заданного разрешения. Можно сказать на 5% по пропорциям изображения, что это пропорции А4.
Все остальное без анализа вилами писано. Чтобы понять "две параллельные линии", что есть текст в две строки, надо потрудится или можно просто получить липу.
|
|
30.08.2017, 19:24
|
Интересующийся
|
|
Регистрация: 14.11.2013
Сообщений: 10
|
|
https://youtu.be/ND54_m1Vs8U
вот как работает со стримом. работает только в браузере хром в нативном клиенте. половина кода на c# половина на js. после включения камеры ищется параллельные строки, затем робот пытается разбить их на символы. если более определенного провента символос видно, то делается фото , обрезается вокруг желтого прямоугольника, монохромится, и по websocket кусок отправляется ко мне на сервер распознавания. откуда возвращается json, который потом заполняет форму. так же ищется фото лица (зеленый жирный квадратик). в данном случае лицо нашлось где-то в другом месте. т.к. копия плохая. надо на js повторить логику поиска нижних строк и анализа на наличие там символов. только не для стрима, а для одной загруженной фотографии. websocket в мобильных браузерах не работает, потому post-get запросом отправлять.
|
|
31.08.2017, 23:19
|
Интересующийся
|
|
Регистрация: 14.11.2013
Сообщений: 10
|
|
к сожалению не откликается кудесник, который имеет опыт работы с изображениями в js и html5, а могли бы иногда обменивать знания на деньги. заданий разноплановых с изображениями - масса.
|
|
02.09.2017, 06:08
|
Профессор
|
|
Регистрация: 14.01.2015
Сообщений: 12,990
|
|
Вам чего надо и причем C#? На вопрос как можно понять, что параллельные строки это документ без распознавания символов ответом было "не надо". Теперь же речь пошла об этом.
В вашем случае, это документ?
┌┐└┘□ⱡffl꜡ⱬ●●●●●●● ●
┌┐└┘□ⱡffl꜡ⱬ●●●●●●● ●
Возьмем простую, на первый взгляд, задачу - обрезать белые кромки у фото. Казалось бы все просто - в градациях серого работает в HSB модели. Так как цвет кромок не обязательно белый, особенно если JPEG, то задав некий порог, проверяя его находим равное и большее этого порога и удаляем.
При этом не нужно сканировать всю строку по ширине, проверяем только верхние/нижние, левые/правые центральные точки на каждой стороне начиная от кромки изображения.
Было бы быстро. А что если на фото ночное небо, сверху видим край луны, некоторые звезды находятся также не границе раздела, ну и прочие возможные "артефакты"? В этом случае без анализа соседних точек можно удалить и полезное, то есть придется анализировать строку полностью.
Если говорить о С# и писать приложение, то нафик он нужен браузер, можно и полноценное ПО написать, и если есть возможность использовать библиотеку какой либо OCR вот тогда можно гарантировать с большой вероятностью, что получен документ.
|
|
02.09.2017, 06:08
|
Профессор
|
|
Регистрация: 14.01.2015
Сообщений: 12,990
|
|
Вам чего надо и причем тут C#? На вопрос как можно понять, что параллельные строки это документ без распознавания символов ответом было "не надо". Теперь же речь пошла об этом.
В вашем случае, это документ?
┌┐└┘□ⱡffl꜡ⱬ●●●●●●● ●
┌┐└┘□ⱡffl꜡ⱬ●●●●●●● ●
Возьмем простую, на первый взгляд, задачу - обрезать белые кромки у фото. Казалось бы все просто - в градациях серого работает в HSB модели. Так как цвет кромок не обязательно белый, особенно если JPEG, то задав некий порог, проверяя его находим равное и большее этого порога и удаляем.
При этом не нужно сканировать всю строку по ширине, проверяем только верхние/нижние, левые/правые центральные точки на каждой стороне начиная от кромки изображения.
Было бы быстро. А что если на фото ночное небо, сверху видим край луны, некоторые звезды находятся также не границе раздела, ну и прочие возможные "артефакты"? В этом случае без анализа соседних точек можно удалить и полезное, то есть придется анализировать строку полностью.
Если говорить о С# и писать приложение, то нафик он нужен браузер, можно и полноценное ПО написать, и если есть возможность использовать библиотеку какой либо OCR вот тогда можно гарантировать с большой вероятностью, что получен документ.
|
|
02.09.2017, 09:47
|
Интересующийся
|
|
Регистрация: 14.11.2013
Сообщений: 10
|
|
Сообщение от laimas
|
Вам чего надо и причем тут C#? На вопрос как можно понять, что параллельные строки это документ без распознавания символов ответом было "не надо". Теперь же речь пошла об этом.
В вашем случае, это документ?
┌┐└┘□ⱡffl꜡ⱬ●●●●●●● ●
┌┐└┘□ⱡffl꜡ⱬ●●●●●●● ●
|
по-мне такая строка тоже документ. есть сервер с библиотекой распознавания , куда потом данные пойдут и она сама все там поймет, но хочется сократить кол-во спама и траффик. не до нуля, но в разумных пределах. хотя конечно распознавание количества символов в строке - тоже интересно..
Сообщение от laimas
|
Возьмем простую, на первый взгляд, задачу - обрезать белые кромки у фото. Казалось бы все просто - в градациях серого работает в HSB модели. Так как цвет кромок не обязательно белый, особенно если JPEG, то задав некий порог, проверяя его находим равное и большее этого порога и удаляем.
При этом не нужно сканировать всю строку по ширине, проверяем только верхние/нижние, левые/правые центральные точки на каждой стороне начиная от кромки изображения.
Было бы быстро. А что если на фото ночное небо, сверху видим край луны, некоторые звезды находятся также не границе раздела, ну и прочие возможные "артефакты"? В этом случае без анализа соседних точек можно удалить и полезное, то есть придется анализировать строку полностью.
|
Я бы может какими-то квадратиками анализировал, которые рядом стоят. по-моему мнению типов копии может быть 5 - копия на весь экран, тут наверное и не поймешь
- копия в напр правом нужнем углу дока - тогда поля вокруг будут буквой Г
- копия впритык к стороне, напр низ может быть с полями П
- копия в середине листа, когда поля будут вокруг. типа О
- разное сочетание предыдущих.
экспертного супер робота можно создавать, но вот насколько трудоемко и денежнозатратно... по-мне определять , что на фотке есть поля типа Г,П,О - это уже работоспособная логика. но я не программист, может есть более надежные способы видящие зорче.
Сообщение от laimas
|
Если говорить о С# и писать приложение, то нафик он нужен браузер, можно и полноценное ПО написать, и если есть возможность использовать библиотеку какой либо OCR вот тогда можно гарантировать с большой вероятностью, что получен документ.
|
это все есть и работает. задача на стороне клиента уменьшать спам и траффик грузящий основной сервер.
|
|
02.09.2017, 11:06
|
Профессор
|
|
Регистрация: 14.01.2015
Сообщений: 12,990
|
|
Сообщение от valdur2000
|
задача на стороне клиента уменьшать спам и траффик грузящий основной сервер.
|
Ну если пример мусора сто процентного "по-мне такая строка тоже документ" смысла то ведь нет никакого в попытках ваших.
|
|
|
|