Нужна функция для обработки изображения,подскажите (или как это называется, или где искать)
Модератор: Модераторы разделов
Нужна функция для обработки изображения,подскажите
Задачка такая:
Есть картинка, в основном черно-белая, но отсканированная в цвете. Из реально цветного на ней -- только подпись и печать; их нужно "отфильтровать", т.е. оставить только то, что напечатано чёрным. Насколько я понимаю, алгоритм там довольно просто и по идее должен быть реализован в каких-то программах по побработке изображений. Проблема в том, что я даже не знаю, как это называется, т.е. не знаю, что искать. В идеале нужна _реализация_, при чём желательно под BSD-like лицензией, т.к. проект закрытый. Подскажите, пожалуйста, где это реализовано, или хотя бы как это называется.
Есть картинка, в основном черно-белая, но отсканированная в цвете. Из реально цветного на ней -- только подпись и печать; их нужно "отфильтровать", т.е. оставить только то, что напечатано чёрным. Насколько я понимаю, алгоритм там довольно просто и по идее должен быть реализован в каких-то программах по побработке изображений. Проблема в том, что я даже не знаю, как это называется, т.е. не знаю, что искать. В идеале нужна _реализация_, при чём желательно под BSD-like лицензией, т.к. проект закрытый. Подскажите, пожалуйста, где это реализовано, или хотя бы как это называется.
¡иɯʎdʞ ин ʞɐʞ 'ɐнɔɐdʞǝdu qнεиж
Re: Нужна функция для обработки изображения,подскажите
(t.t @ Среда, 20 Июля 2005, 21:42) писал(а):Задачка такая:
Есть картинка, в основном черно-белая, но отсканированная в цвете. Из реально цветного на ней -- только подпись и печать; их нужно "отфильтровать", т.е. оставить только то, что напечатано чёрным. Насколько я понимаю, алгоритм там довольно просто и по идее должен быть реализован в каких-то программах по побработке изображений. Проблема в том, что я даже не знаю, как это называется, т.е. не знаю, что искать. В идеале нужна _реализация_, при чём желательно под BSD-like лицензией, т.к. проект закрытый. Подскажите, пожалуйста, где это реализовано, или хотя бы как это называется.
Все не настолько тривиально, как ты думаешь. Чем будем заполнять то место, которое находится под надписью? А так если бы в фотошопе - то банальный перевод в LAB и маску по каналу A или В.
Читаю вслух с выражением маны - $50/ч + стоимость звонка. Настраиваю сервисы за Вас - $100/ч + стоимость выезда и проживания.
И восемь строк матом...(бесплатно)
И восемь строк матом...(бесплатно)
Re: Нужна функция для обработки изображения,подскажите
(t.t @ Среда, 20 Июля 2005, 20:42) писал(а):В идеале нужна _реализация_, при чём желательно под BSD-like лицензией, т.к. проект закрытый.
не по подделке ли документов государственной важности?
Re: Нужна функция для обработки изображения,подскажите
Ну, у меня есть такое подозрение, что то место, где был чёрный текст, уже не сможет стать фиолетовым или красным после появления печати, а т.к. результат нужен в ч/б, то я думал, что "заполнять" можно белым. Или есть нюансы?(Strangerrr @ Четверг, 21 Июля 2005, 7:50) писал(а):Все не настолько тривиально, как ты думаешь. Чем будем заполнять то место, которое находится под надписью? А так если бы в фотошопе - то банальный перевод в LAB и маску по каналу A или В.
А как в фотошопе что делается и что такое LAB и маска я, честно говоря, вообще не в курсе.
Нет Всего лишь по их распознаванию. А подпися и печати мешают качественно локализовать для распознавания текст, который под ними.(alv @ Четверг, 21 Июля 2005, 7:57) писал(а):не по подделке ли документов государственной важности?
¡иɯʎdʞ ин ʞɐʞ 'ɐнɔɐdʞǝdu qнεиж
Re: Нужна функция для обработки изображения,подскажите
Для t.t:
Т.ё. задача сводится к тому, чтобы срезать синий (и красный) каналы, и заполнить их как зелёный?
Т.ё. задача сводится к тому, чтобы срезать синий (и красный) каналы, и заполнить их как зелёный?
Re: Нужна функция для обработки изображения,подскажите
Зелёные печати тоже бывают. Задача в том, чтобы всё, что совсем не чёрное и совсем не белое, стало белым.(czarker @ Четверг, 21 Июля 2005, 10:05) писал(а):Для t.t:
Т.ё. задача сводится к тому, чтобы срезать синий (и красный) каналы, и заполнить их как зелёный?
¡иɯʎdʞ ин ʞɐʞ 'ɐнɔɐdʞǝdu qнεиж
Re: Нужна функция для обработки изображения,подскажите
(t.t @ Четверг, 21 Июля 2005, 11:12) писал(а):Зелёные печати тоже бывают. Задача в том, чтобы всё, что совсем не чёрное и совсем не белое, стало белым.(czarker @ Четверг, 21 Июля 2005, 10:05) писал(а):Для t.t:
Т.ё. задача сводится к тому, чтобы срезать синий (и красный) каналы, и заполнить их как зелёный?
Еще раз - решение твоей проблемы лежит в цветовом пространстве LAB, там это достаточно тривиальная задача. Во всех остальных - очень неслабо повозиться придется. Объяснить доходчиво не смогу, гугли. Ключевые слова - быстрая маска по слою, LAB.
Читаю вслух с выражением маны - $50/ч + стоимость звонка. Настраиваю сервисы за Вас - $100/ч + стоимость выезда и проживания.
И восемь строк матом...(бесплатно)
И восемь строк матом...(бесплатно)
Re: Нужна функция для обработки изображения,подскажите
Ну, пойду погуглю. Но мне надо именно _утилиту_ такую, т.е. чтобы её программно вызывать можно было, т.к. всё должно быть на автомате. Что-то я уже разуверился, что я нагуглю такое...(Strangerrr @ Четверг, 21 Июля 2005, 10:20) писал(а):Еще раз - решение твоей проблемы лежит в цветовом пространстве LAB, там это достаточно тривиальная задача. Во всех остальных - очень неслабо повозиться придется. Объяснить доходчиво не смогу, гугли. Ключевые слова - быстрая маска по слою, LAB.
t.t добавил в 21.07.2005 12:02
Как я и ожидал, ничего, кроме описаний приёмов работы в фотошопе, гугление не дало..
t.t добавил в 21.07.2005 12:54
А кстати, почему неслабо? Мне ведь суперкачество не надо, результат-то вообще в однобитном цвете нужен. Я себе это примерно так представляю: если в некой области из трёх цветов RGB какой-то один близок к нулю, а какой-то другой близок к 100%, то эту область можно забелить. Где я не прав?(Strangerrr @ Четверг, 21 Июля 2005, 10:20) писал(а):Еще раз - решение твоей проблемы лежит в цветовом пространстве LAB, там это достаточно тривиальная задача. Во всех остальных - очень неслабо повозиться придется.
¡иɯʎdʞ ин ʞɐʞ 'ɐнɔɐdʞǝdu qнεиж
Re: Нужна функция для обработки изображения,подскажите
(t.t @ Четверг, 21 Июля 2005, 12:54) писал(а):А кстати, почему неслабо? Мне ведь суперкачество не надо, результат-то вообще в однобитном цвете нужен. Я себе это примерно так представляю: если в некой области из трёх цветов RGB какой-то один близок к нулю, а какой-то другой близок к 100%, то эту область можно забелить. Где я не прав?(Strangerrr @ Четверг, 21 Июля 2005, 10:20) писал(а):Еще раз - решение твоей проблемы лежит в цветовом пространстве LAB, там это достаточно тривиальная задача. Во всех остальных - очень неслабо повозиться придется.
Тогда решение еще проще. Где R!=G!=B смело забеляй. Ну или сделай дельта-окрестность, на возможное отклонение тона, процентов на 10.
Читаю вслух с выражением маны - $50/ч + стоимость звонка. Настраиваю сервисы за Вас - $100/ч + стоимость выезда и проживания.
И восемь строк матом...(бесплатно)
И восемь строк матом...(бесплатно)
Re: Нужна функция для обработки изображения,подскажите
Так может есть уже готовая реализация чего-то подобного? Не хочется велосипед изобретать.(Strangerrr @ Четверг, 21 Июля 2005, 11:58) писал(а):Тогда решение еще проще. Где R!=G!=B смело забеляй. Ну или сделай дельта-окрестность, на возможное отклонение тона, процентов на 10.
¡иɯʎdʞ ин ʞɐʞ 'ɐнɔɐdʞǝdu qнεиж
Re: Нужна функция для обработки изображения,подскажите
t.t: Выстрел на слух: а мануал от ImageMagick не пробовал курить?
Re: Нужна функция для обработки изображения,подскажите
Чуть попробовал, но я там ничего не понимаю. Но я уже пришёл к мысли, что придётся всё-таки брать какой-то специализированный словарь и пытаться понять man mogrify.t.t: Выстрел на слух: а мануал от ImageMagick не пробовал курить?
¡иɯʎdʞ ин ʞɐʞ 'ɐнɔɐdʞǝdu qнεиж
Re: Нужна функция для обработки изображения,подскажите
Да 100% imagemagick должен помочь. Я с годик назад ковырялся с ним по похожим задачам (там правда попроще было - печать надо было найти на пустом листе и обрезать всё лишнее) и решение было найдено. Достаточно навороченная библиотечка по функционалу.
Либо, если уж совсем тебе припрёт, есть Java Imaging API. Но с ней ты задолбаешься разбираться ещё больше. Для людей, не сведущих в компьютерной графике - эта трындец. Я на свой аглицкий не жалуюсь, но в те дни сервак Яндекс-лингво наверное попахивал дымком Там тааакие дебри...
Либо, если уж совсем тебе припрёт, есть Java Imaging API. Но с ней ты задолбаешься разбираться ещё больше. Для людей, не сведущих в компьютерной графике - эта трындец. Я на свой аглицкий не жалуюсь, но в те дни сервак Яндекс-лингво наверное попахивал дымком Там тааакие дебри...
Re: Нужна функция для обработки изображения,подскажите
Почитаем, попробуем.Да 100% imagemagick должен помочь.
О, это тоже идея; я как-то забыл про него.в те дни сервак Яндекс-лингво наверное попахивал дымком
¡иɯʎdʞ ин ʞɐʞ 'ɐнɔɐdʞǝdu qнεиж
Re: Нужна функция для обработки изображения,подскажите
А не проще ли было бы взять gimp, выделить область и поменять в ней каналы?
Don't trouble troubles until troubles trouble you!
Re: Нужна функция для обработки изображения,подскажите
Для Jinn:
Или напечатать на бумагу, замазать мазилкой, отсканировать повторно, потом распознавать. Тоже решение. И ровно в той же мере удовлетовряет потребности программного выполнения этой операции.
JaGoTerr добавил в 22.07.2005 16:22
А ещё есть такая штука, которая называется xnee. Она может запоминать, а потом повторять все действия пользователя (ввод с клавы, тыканье мышой и пр. Типа макросы такие получаются). Можно запустить gimp, а потом с помошью такого вот "макроса" выполнить необходимые операции по преобразованию каналов :lol:
Или напечатать на бумагу, замазать мазилкой, отсканировать повторно, потом распознавать. Тоже решение. И ровно в той же мере удовлетовряет потребности программного выполнения этой операции.
JaGoTerr добавил в 22.07.2005 16:22
А ещё есть такая штука, которая называется xnee. Она может запоминать, а потом повторять все действия пользователя (ввод с клавы, тыканье мышой и пр. Типа макросы такие получаются). Можно запустить gimp, а потом с помошью такого вот "макроса" выполнить необходимые операции по преобразованию каналов :lol:
Re: Нужна функция для обработки изображения,подскажите
Особенно приятно будет собирать гимп под винду для этого(JaGoTerr @ Пятница, 22 Июля 2005, 15:22) писал(а):А ещё есть такая штука, которая называется xnee. Она может запоминать, а потом повторять все действия пользователя (ввод с клавы, тыканье мышой и пр. Типа макросы такие получаются). Можно запустить gimp, а потом с помошью такого вот "макроса" выполнить необходимые операции по преобразованию каналов :lol:
¡иɯʎdʞ ин ʞɐʞ 'ɐнɔɐdʞǝdu qнεиж
Re: Нужна функция для обработки изображения,подскажите
(t.t @ Пятница, 22 Июля 2005, 16:15) писал(а):Особенно приятно будет собирать гимп под винду для этого(JaGoTerr @ Пятница, 22 Июля 2005, 15:22) писал(а):А ещё есть такая штука, которая называется xnee. Она может запоминать, а потом повторять все действия пользователя (ввод с клавы, тыканье мышой и пр. Типа макросы такие получаются). Можно запустить gimp, а потом с помошью такого вот "макроса" выполнить необходимые операции по преобразованию каналов :lol:
1. В Винде достаточно элементарно пишутся макросы на любую последовательность действи в любом приложении.
2. Давай мыл - скину реализацию. Солюшн на .NET. Откроешь в MS VS 2003 или 2005, нажмешь Build -> Build Solution и будет тебе счастья немеряно
Follow the white Rabbit!
Re: Нужна функция для обработки изображения,подскажите
Да есть гимп под винду нативный.
Re: Нужна функция для обработки изображения,подскажите
Давай на tarnavski ухо bigmir тчк net2. Давай мыл - скину реализацию. Солюшн на .NET. Откроешь в MS VS 2003 или 2005, нажмешь Build -> Build Solution и будет тебе счастья немеряно
Да ладно, это ж я так, для прикола.Да есть гимп под винду нативный.
¡иɯʎdʞ ин ʞɐʞ 'ɐнɔɐdʞǝdu qнεиж
Re: Нужна функция для обработки изображения,подскажите
Ты знаешь, ты если не сделаешь -- то лучше не обещай, ладно? Одно дело, когда ты раньше обещал что-то, что мне чисто для своего любопытства надо было, другое дело -- по работе. Я тебя две недели прождал, а теперь всё равно с нуля искать приходится.(Alejandro @ Вторник, 26 Июля 2005, 0:26) писал(а):2. Давай мыл - скину реализацию. Солюшн на .NET. Откроешь в MS VS 2003 или 2005, нажмешь Build -> Build Solution и будет тебе счастья немеряно
2all: Вопрос опять открыт. Докой по ImageMagic обчитался по самое "не могу", сейчас, конечно, ещё раз просмотрю, но голова уже квадратная от всего этого. Боюсь, готовыми фильтрами не получится. Пришла в голову бредовая мысль: а нет ли случайно готовой утилитки или простенькой библиотеки, которая бы позволяла попиксельно проверять некие условия и в зависимости от них чего-то с этими пикселами делать? Я уже и libtiff-dev обчитался, но там всё слишко наворочено -- разбираться дольше чем писать.
¡иɯʎdʞ ин ʞɐʞ 'ɐнɔɐdʞǝdu qнεиж
Re: Нужна функция для обработки изображения,подскажите
скинь пример картинки - если не секретная, конечно.
а мы уж раскурим эту тему....
а мы уж раскурим эту тему....
слава роботам!
Re: Нужна функция для обработки изображения,подскажите
Сейчас все значимые поля забелю -- станет несекретная :)(elide @ Понедельник, 29 Августа 2005, 20:21) писал(а):скинь пример картинки - если не секретная, конечно.
Вообще, уже почти придумал нужную формулу для convert -fx, но боюсь, очень медленно получится.
t.t добавил в 30.08.2005 02:12
Соорудили формулу. Получилось убрать печать с помощью convert -fx с таким аргументом:
min((r+1)*1.1/(b+1),1)*min((b+1)*1.1/(g+1),1)*min((g+1)*1.1/(r+1),1)*(2*max(r,max(g,b))-min(r,min(g,b)))
Одна беда -- медленно. Лист А4 обрабатывался 26 минут. если даже работать только нужную область -- выйдет в пересчёте больше двух минут, это недопустимо долго.
Так что выложу пример печати с подписью, и заодно то, что получилось:
¡иɯʎdʞ ин ʞɐʞ 'ɐнɔɐdʞǝdu qнεиж
Re: Нужна функция для обработки изображения,подскажите
Легко! :lol:
gimp 2.0
1 слой > цвета > порог
2 изображение > режим> 1bit
3 фильтры> анимация> оптимизация gif
4 save gif
В принципе и 1 хватит!
gimp 2.0
1 слой > цвета > порог
2 изображение > режим> 1bit
3 фильтры> анимация> оптимизация gif
4 save gif
В принципе и 1 хватит!
ASUS eee pc 701 [windowsXP sp3] [Ubuntu linux]
wi-fi router d-link dir-400 [ddWRT v24 SP1 linux]
[sony psp 2008 slim wi-fi netBSD]
nas d-link dsm-600
Противник HAL NETWORKMANAGER и других подобных паделок!!!
wi-fi router d-link dir-400 [ddWRT v24 SP1 linux]
[sony psp 2008 slim wi-fi netBSD]
nas d-link dsm-600
Противник HAL NETWORKMANAGER и других подобных паделок!!!
- aLexx programmer
- Сообщения: 985
- Статус: Турук-Макто
- ОС: Gentoo -> Ubuntu
Re: Нужна функция для обработки изображения,подскажите
Для Данил: подпись осталась, если ты не заметил.
Re: Нужна функция для обработки изображения,подскажите
Для Данил:
А фон???
А фон???
Re: Нужна функция для обработки изображения,подскажите
М-да... Не буду повторяться:
¡иɯʎdʞ ин ʞɐʞ 'ɐнɔɐdʞǝdu qнεиж
Re: Нужна функция для обработки изображения,подскажите
Если надо удалить еще и подпись (я наоборот думал, что надо сохранить
1 > ставим порог в 99 # удаляем подпись и штамп
2 > фильтры > размывание > размывание [случайное зерно, Случайность 100%, Повтор 1%] # восстанавливаем буквы
3 > фильтры > улучщение > нерезкая маска > [значение ближе к большему]
4 > фильтры > размывание > размывание [случайное зерно, Случайность 100%, Повтор 1%]
5 > изображение > режим > градации серого #уменьшаем размер файла
6 > Фильтры > анимация > оптимизация gif #уменьшаем размер файла
7 > save gif
эта функция - порог!
1 > ставим порог в 99 # удаляем подпись и штамп
2 > фильтры > размывание > размывание [случайное зерно, Случайность 100%, Повтор 1%] # восстанавливаем буквы
3 > фильтры > улучщение > нерезкая маска > [значение ближе к большему]
4 > фильтры > размывание > размывание [случайное зерно, Случайность 100%, Повтор 1%]
5 > изображение > режим > градации серого #уменьшаем размер файла
6 > Фильтры > анимация > оптимизация gif #уменьшаем размер файла
7 > save gif
эта функция - порог!
ASUS eee pc 701 [windowsXP sp3] [Ubuntu linux]
wi-fi router d-link dir-400 [ddWRT v24 SP1 linux]
[sony psp 2008 slim wi-fi netBSD]
nas d-link dsm-600
Противник HAL NETWORKMANAGER и других подобных паделок!!!
wi-fi router d-link dir-400 [ddWRT v24 SP1 linux]
[sony psp 2008 slim wi-fi netBSD]
nas d-link dsm-600
Противник HAL NETWORKMANAGER и других подобных паделок!!!
Re: Нужна функция для обработки изображения,подскажите
Ещё раз: отсечение должно выполняться _автоматически_, в процессе сканирования страниц. То, что это можно сделать гимпом, я и так понимаю, но в данном случае гимп совершенно ни при чём.
И вообще, тема уже закрыта -- пишем сами. Не знаю, кстати, почему конверт так долго это обсчитывает -- на сях примерно тот же алгоритм, что сокрыт в выложенной мною формуле, просчитал всю картинку меньше чем за секунду.
И вообще, тема уже закрыта -- пишем сами. Не знаю, кстати, почему конверт так долго это обсчитывает -- на сях примерно тот же алгоритм, что сокрыт в выложенной мною формуле, просчитал всю картинку меньше чем за секунду.
¡иɯʎdʞ ин ʞɐʞ 'ɐнɔɐdʞǝdu qнεиж