Smorodov 578 Report post Posted October 13, 2014 Ну тогда надо использовать маску. Скажем соорудить маску, в которой все ненужное залито черным, и применить ее при копировании изображения, при этом скопируются только те пиксели, которым соответствуют белые пиксели маски. Share this post Link to post Share on other sites
VironZizu 2 Report post Posted October 14, 2014 По игрался с инверсиями и все получилось, спасибо!) Получилось убрать мелкие шум с изображения, я доволен)осталось научиться как то аккуратней его удалять, а то бывает что с мелким шумом и части букв удаляешь)) Непонимаю, при выполнении собственно копирования с маской появляется такой дибильный эффект с верху! Из за чего это может быть? Причем на разных изображениях одна хрень)) эти полоски) Cv.Copy(src, dstMask, Mask); Share this post Link to post Share on other sites
Smorodov 578 Report post Posted October 14, 2014 Такой эффект бывает когда используешь не инициализированную матрицу. Она заполнена всяким мусором, если не указать явно что она нулевая или явно не присвоить всем элементам какое-нибудь значение. Share this post Link to post Share on other sites
VironZizu 2 Report post Posted October 14, 2014 Спасибо большое за наводку! а то год бы разбирался!)) Продолжаю шлифовать свой алгоритм удаления шумов, уже неплохо, но удаляются периодически и нужные запчасти. Появилась одна идейка, вот хочу узнать, возможно ли реализовать! Вот у меня есть контур, мы смотрим цвет внутри этого контура, если он похож на цвет внутри другого контура, то оставляем, если не похож, то удаляем. Больше всего кончено смущает момент "если похож")) может у вас есть какие-нибудь мысли по этому поводу)) Share this post Link to post Share on other sites
Smorodov 578 Report post Posted October 15, 2014 Можно сравнивать усредненный по всем пикселям цвет контура. Тут есть два подхода: 1) Задать эталон и порог расстояния вручную, и сравнивать с ним. 2) Провести кластеризацию средних цветов контуров. Но тут нужно знать на сколько кластеров будем разбивать. И опять задать какой контур оставляем, эталон цвета, или определять по количеству (или геометрическим свойствам) контуров в кластере. Важно еще задать удобную метрику, можно конечно просто евклидово расстояние измерять в RGB пространстве, но есть и другие способы: http://en.wikipedia.org/wiki/Color_difference Share this post Link to post Share on other sites
VironZizu 2 Report post Posted October 16, 2014 По пробовал сам разобраться, но не получилось. Случаем нету примера как узнать этот усредненный цвет внутри контура? Я так понимаю у одинаковых букв эти цвета должны будут примерно совпадать!? Это было бы здорово! Share this post Link to post Share on other sites
VironZizu 2 Report post Posted November 27, 2014 Smorodov Приветствую!) Появилось снова время немного заняться проектом, решил усовершенствовать механизм обнаружения паспорта, все таки сделать через Хью лайнс. Подскажите пожалуйста, вот у меня получился скоп линий, как мне из них построить прямоугольник? Нужна математическая магия судя по всему)) Share this post Link to post Share on other sites
Smorodov 578 Report post Posted November 27, 2014 Эту тему смотрели? А вообще, поиск прямоугольников имеется и в стандартных примерах. Share this post Link to post Share on other sites
VironZizu 2 Report post Posted November 28, 2014 Смотрел, ничего полезного для себя не нашел. Примеры для нахождения прямоугольников не отрабатывают для моего случая, так как после бинаризации, когда начинаю искать контуры как там предлагается, он далеко не всегда нужный квадрат находит, так как сканы иногда засвечивают изображения, особенно если документ положить ближе к краю. По моему мнению правильней было бы реализовать через Хью лайнс, он отрабатывает неплохо, но куча лишних линий естественно получается, из них всех нужно как то по пробовать построить прямоугольные области, вот ломаю голову, как!? Если бы находил конкретно 4 линии, было бы все намного проще. Share this post Link to post Share on other sites
Nuzhny 243 Report post Posted November 28, 2014 Ну, тут тебе уже должно быть виднее, какие там линии получаются. Может брать самые длинные? Или с наибольшей разностью пикселей по разные границы линии? Сделать полный перебор всех вариантов и каждый вариант проверить на какое-нибудь условие? Share this post Link to post Share on other sites
mrgloom 242 Report post Posted December 3, 2014 Еще 1 метод из пушки по воробьям. http://www.cs.bris.ac.uk/~damen/MultiObjDetector.htm Share this post Link to post Share on other sites
mrgloom 242 Report post Posted March 18, 2015 http://habrahabr.ru/company/smartengines/blog/252703/ Share this post Link to post Share on other sites
Король 7 Report post Posted February 17, 2020 Моя версия распознавание российского паспорта. При распознавании букв использовал Tesseract 1 Share this post Link to post Share on other sites
idrua 8 Report post Posted February 17, 2020 13 часа назад, Король сказал: Моя версия распознавание российского паспорта. При распознавании букв использовал Tesseract А первая картинка это что? Share this post Link to post Share on other sites
Король 7 Report post Posted February 18, 2020 Делю изображение по 40 пикселей (это не важно по сколько, зеленого цвета вертикальные линии). Преобразую функцией Собеля изображение. Затем высчитываю разность соседних пикселей по горизонтали. Сглаживаю кривую (красный цвет). Затем высчитываю Максимумы (точки желтого цвета). Затем ищу, чтобы в линии было по 2 и более столбцов (считаю что это текст). Затем поиск минимумов этих максимумов (Блоки с текстом предполагаю - 2 изображение на видео). Как-то так! Share this post Link to post Share on other sites
Madika 0 Report post Posted April 12, 2022 Цитата В 17.02.2020 at 03:05, Король сказал: Моя версия распознавание российского паспорта. При распознавании букв использовал Tesseract Здравствуйте! А как вам удалось выделить в паспорте ФИО? При этом не выделяя остальной не нужный текст?(3 картинка) Share this post Link to post Share on other sites
Smorodov 578 Report post Posted April 13, 2022 Ну там же стандартный текст, сравните со словариком и уберите ) Share this post Link to post Share on other sites