Comments 30
Цены бы вам не было, если бы вы показали реализацию такой обработки на практике!
+26
И где это посмотреть в действии?
+6
Не думали о плагине для ImageJ?
+1
С удовольствием бы пользовался веб-сервисом который умеет так обрабатывать документы. Сканера нет, а с фотографий качество приходится муторно вытягивать.
+11
Для Android есть приложение CamScanner, а так же приложение Google Drive умеет делать то же самое перед загрузкой фотографий документов на диск.
+2
А на iOS очень хорошо работает Genius Scan.
+2
Для iOS есть ABBYY FineScanner от авторов поста :).
+3
Спасибо за наводку, драйв вполне устраивает. Десктопный/облачный это умеет?
0
Что, именно прям то же самое, в том же качестве? С пирамидальной картой порогов?
+1
Из алгоритмов адаптивного повышения яркости мне больше всего вот этот нравится: www.academic-journals.org/ojs2/index.php/ijecs/article/viewFile/1076/113 (Adaptive Smoothing
, там про него один раздел)
Конечно, он в первую очередь ориентирован на реальные изображения, но там не менее идея итеративного повышения яркости очень неплохо позволяет бороться с тенями.
, там про него один раздел)
Конечно, он в первую очередь ориентирован на реальные изображения, но там не менее идея итеративного повышения яркости очень неплохо позволяет бороться с тенями.
+2
Фотографии данный алгоритм все равно заметно портит.
В особенности лица (ИМХО для фотографий алгоритм динамического контраста не подходит, их нужно просто выделить и обработать отдельно):
В особенности лица (ИМХО для фотографий алгоритм динамического контраста не подходит, их нужно просто выделить и обработать отдельно):
+4
Этот алгоритм (а вернее, представленная здесь его настройка) больше ориентирован на документы, для фотографий можно воспользоваться этой же идеей, только алгоритм придется настраивать по-другому. Общим у них является использование «изображений» локальных минимумов, максимумов и средних, а вот коэффициент контрастирования и количество уровней в пирамидальном разложении нужно подбирать по-другому.
+4
Очень актуальная тема. Радует, что ею занялись профессионалы.
+1
Простите, за возможно, глупый вопрос, но что есть «карта порогов»? И как с ее помощью можно получить изображение повышенной контрастности/бинарное изображение?
0
Карту порогов можно представить в виде полутонового изображения (2-х мерной матрицы чисел), содержащего вместо сигнала яркости значение порога бинаризации для каждой точки. Для бинаризации порог можно использовать так: значения пикселей исходного изображения выше порога заменяются белыми (максимальными), ниже — черными (минимальными). Для контрастирования мы просто берем разницу между значением яркости в каждой точке и значением порога, разность умножаем на коэффициент контрастирования k > 1, и прибавляем полученную величину с учетом знака обратно к значению порога. Получаем значение пикселя для изображения повышенной контрастности. В тексте есть формула: Y’ = k(Y – T) + T. Y и T здесь являются дискретными функциями от координат пикселей: Y(x,y) и T(x,y). Чтобы получить все изображение, нужно провести вычисления для всех пикселей изображения.
+4
Большое спасибо, теперь все на своих местах.
0
Еще вопрос, а как вы оцениваете уровень шума на изображении?
0
Оценка дисперсии (второго момента) может производиться самыми разными способами. Можно попробовать разбить изображение на квадратные области заданного размера, скажем 32х32 пикселей, посчитать для каждого значения первого и второго моментов (среднего и дисперсии), и выбрать несколько с минимальной дисперсией из различных диапазонов среднего, т.е. яркости (их может быть порядка 10). Крайние диапазоны по яркости ненадежны, т.к. сигнал уходит в насыщение (тень или засветка), и измерения в них недостоверны. А вот по остальным можно даже получить зависимость дисперсии от яркости. Для большей надежности можно квадратные области делать пересекающимися или искать минимум для каждого диапазона яркости в скользящем окне (для всех диапазонов за один проход, конечно).
Можно даже собрать статистику для различных камер и их настроек (ISO, шумодав). Порог для шума следует выбирать пропорционально полученным значениям дисперсии, обычно коэффициент для порога лежит в диапазоне от 3 до 5 «сигм» для различных «типов» шума.
Можно даже собрать статистику для различных камер и их настроек (ISO, шумодав). Порог для шума следует выбирать пропорционально полученным значениям дисперсии, обычно коэффициент для порога лежит в диапазоне от 3 до 5 «сигм» для различных «типов» шума.
+1
И еще, вот на этом изображении в правом нижнем углу на однородной черной области вдруг появилась светлое пятно. Это нормально?
0
Это недостаток алгоритма, в этом месте немного не хватило коэффицента контрастирования, а делать его более высоким всегда — опасно. В цветном пятна не видно, т.к. вся область содержит насыщенный цвет и для неё мы снижаем коэффициент контрастирования практически до 0, в результате цвет выравнивается. Вообще, задача бинаризации документов со сложной версткой до сих пор не имеет однозначного решения для всех случаев. Но мы к этому стремимся. :)
+1
UFO just landed and posted this here
Алгоритм там не знаю какой. Но в шопе это два фильтра. Про восстановление геометрии не говорю.
habrahabr.ru/post/218195/#comment_7465441
До habrastorage.org/getpro/habr/post_images/b60/175/687/b6017568773561bb6b176fd291870762.jpg
После habrastorage.org/getpro/habr/comment_images/ac9/ac1/bfb/ac9ac1bfb6a7692e8d40cf2cdbbe4eab.jpg
habrahabr.ru/post/218195/#comment_7465441
До habrastorage.org/getpro/habr/post_images/b60/175/687/b6017568773561bb6b176fd291870762.jpg
После habrastorage.org/getpro/habr/comment_images/ac9/ac1/bfb/ac9ac1bfb6a7692e8d40cf2cdbbe4eab.jpg
+1
Извиняюсь за некропостинг, пост показали только недавно.
Вопрос про деталь алгоритма:
> В каждом пикселе на новом уровне пирамидального разложения вычисляем разницу между значением пикселя из пирамиды максимумов и значением из пирамиды минимумов. Если эта разница не превосходит шумовой порог, считаем, что полезного сигнала в этом участке изображения нет, причем как на этом, так и на последующих уровнях пирамидального разложения
Если читать текст буквально, то кажется возможен странный эффект.
Предположим, в среднем документ довольно ярок, т.е. средний уровень предположим где-то около 0.7, а максимум и минимум — пусть 0.5 до 1.0. В этом случае, алгоритм перестанет делать локальные изменения порогов вообще — уровень порога, приходящий с верхнего уровня будет 0.7, разница между максимальным и минимальным не больше — 0.5, следовательно делать ничего не нужно на всех уровнях.
Казалось бы, хочется не такого поведения, а как раз вычесть среднее (0.7) и улучшать контраст в разных частях документа.
Поясните плз?
Вопрос про деталь алгоритма:
> В каждом пикселе на новом уровне пирамидального разложения вычисляем разницу между значением пикселя из пирамиды максимумов и значением из пирамиды минимумов. Если эта разница не превосходит шумовой порог, считаем, что полезного сигнала в этом участке изображения нет, причем как на этом, так и на последующих уровнях пирамидального разложения
Если читать текст буквально, то кажется возможен странный эффект.
Предположим, в среднем документ довольно ярок, т.е. средний уровень предположим где-то около 0.7, а максимум и минимум — пусть 0.5 до 1.0. В этом случае, алгоритм перестанет делать локальные изменения порогов вообще — уровень порога, приходящий с верхнего уровня будет 0.7, разница между максимальным и минимальным не больше — 0.5, следовательно делать ничего не нужно на всех уровнях.
Казалось бы, хочется не такого поведения, а как раз вычесть среднее (0.7) и улучшать контраст в разных частях документа.
Поясните плз?
0
Там два порога: порог контрастирования, который мы уточняем, двигаясь по масштабам вверх, и шумовой порог, который является константой, зависящей от уровня шума в изображении. Обычно на реальных деталях изображений разница между локальным максимумом и минимумом составляет 0.3-0.7, а шум — не более 0.1. Поэтому происходит как раз то, что вы описали, порог уточняется для различных участков изображения до тех пор, пока там есть детали все более мелкого масштаба, превосходящие по контрасту шум.
0
Sign up to leave a comment.
Повышение визуального качества для фотографий документов