CITKIT.ru - свободные мысли о свободном софте
Деловая газета CitCity.ru Библиотека CITForum.ru Форумы Курилка
Каталог софта Движение Open Source Дискуссионный клуб Дистрибутивы Окружение Приложения Заметки Разное
19.03.2019

Последние комментарии

ОСТОРОЖНО: ВИНДОФИЛИЯ! (2250)
24 December, 22:53
Kubuntu Feisty (15)
24 December, 18:42
Один на один с Windows XP (3758)
24 December, 11:46

Каталог софта

Статьи

Дискуссионный клуб
Linux в школе
Open Source и деньги
Open Source и жизнь
Windows vs Linux
Копирайт
Кто такие анонимусы
Лицензии
Нетбуки
Нужен ли русский Linux?
Пользователи
Дистрибутивы
Идеология
Выбор дистрибутива
Archlinux & CRUX
Debian
Fedora
Gentoo
LFS
LiveCD
Mandriva
OpenSolaris
Slackware
Zenwalk
Другие линуксы
BSD
MINIX
Движение Open Source
История
Классика жанра
Окружение
shell
Библиотеки UI
Графические среды
Шрифты
Приложения
Безопасность
Управление пакетами
Разное
Linuxformat. Колонки Алексея Федорчука
Заметки
Блогометки
Файловые системы
Заметки о ядре

Приложения

Обработка отсканированных рисунков при помощи Гимпа

  1. Вступление
  2. Рисунок шариковой ручкой на листе белой бумаги.
  3. Рисунок шариковой ручкой на листе в клетку. #1
  4. Рисунок шариковой ручкой на листе в клетку. #2
  5. Рисунок цветным карандашом на листе в клетку (разделение по цвету)

Вступление

Активизировав в последнее время свои попытки научиться рисовать я столкнулся с проблемой сканирования и обработки набросков и рисунков. Должен заметить, что в основном такие эскизы являлись лишь промежуточным результатом, а дальнейшая работа с ними предполагает комьютерную обработку и прорисовку. Т.е. мне потребовался быстрый и эффективный, в смысле отношения затраченных усилий к полученному результату, способ обработки. В ходе экспериментов я выработал некоторые методы решения этих задач.

Собственно, почему я решил оформить результаты своих изысканий? Дело в том, что посещая различные артсайты, особенно ориентированные на новичков и любителей, я обнаружил, что аналогичные проблемы стоят не только передо мной, это было очевидно, и так же то, что зачастую их решают крайне не рационально, а то и вовсе не решают никак... Так, например, на форуме одного такого сайта, я высказал мысль о полезности просветить новичков насчет простых методов обработки сканов, на что мне ответил, некто Dilandu, неплохой, кстати, художник:

"...мусор со сканов убирается ручками и терпением. Если текстура бумаги не важна, то просто вытирается ластиком в режиме "кисть", а если важна, то штампом...."

Т.е. фактически предлагаеться затратить усилия сравнимые с перерисовкой рисунка! Если в отношении законченных произведений, переводимых с бумаги в электронную форму, это может иметь смысл, да и то не всегда, то для набросков и всяких промежуточных эскизов такой подход представляеться явно избыточным.

А между тем, покрайней мере частные решения проблемы, имеються. Далее, несколько конкретных примеров:

Рисунок шариковой ручкой на листе белой бумаги.

Это необработанный и уменьшенный в три раза рисунок. Сканирование происходило в режиме "шкала серого" и с разрешением 800 dpi. Как видите, сканер великолепно справился с задачей и очень четко вопроизвел и чернильные штрихи, и фактуру бумаги. Вот кусочек изображения в натуральную величину:

А это кусок фона, также в натуральном размере:

Однако, в большинстве случаев фактура бумаги не нужнее пятого колеса и избавляться от нее необходимо. Выше нам предлагали это делать при помощи ластика, но мы поступим иначе. Давайте откроем наш гимп и взглянем на гистограмму первого рисунка:

А теперь посмотрим гистограмму отдельно фона:

Вы видите тоже, что и я? За пик в области светов ответственен именно фон, в то время как полезное изображение сосредаточенно в тенях. Для пущей наглядности наложим друг на друга две гистограммы:

Теперь совершенно очевидно, что сместив точку белого (крайний правый движек) на первой гистограмме мы заставим все точки фона стать белыми:

Здесь я также наложил гистограмму фона. И вот что мы получим в итоге всех манипуляций:

Для дополнительной выразительности я еще немного сместил серую точку, в область теней.

Резюмируя можно сказать, что в данном случае применяеться метод обработки состоящий из одного пункта: сместить точку белого так, что бы весь фоновой шум ушел бы в света. Делаеться это инструментом "уровни", который, кроме всего прочего, позволяеть визуально контролировать результат манипуляций прямо в окне с изображением. Но и это еще не все -- описанные манипуляции можно производить еще на этапе сканирования, благо XSane для этого прекрасно приспособлен, что демонстрируется следующим скриншетом:

Прим: так расположил окна и обесцветил изображение я специально в целях уменьшения размера картинки и "веса" файла.

Недостатком такого метода являеться то, что применять его можно только на тех изображениях, где фон и полезный рисунок резко отличаються по яркости, как в приведенном примере. Бумага, может быть не обязательно чисто белой вполне допустимо наличие бледной клетки или какого-либо другого узора, главное при этом четкий и насыщенный контур сделанный ручкой, тушью или карандашем. Для рисунков содержащих тонкую штриховку данный способ применим не всегда.

Рисунок шариковой ручкой на листе в клетку.

Случай с таким рисунком можно откаментировать так: "каждый сам себе злобный буратин!" Спрашиваеться -- зачем создавать себе лишние трудности и использовать для рисования явно неподходящие для этого материалы? Впрочем, ситуации в жизни бывают всякие и из такого рисунка можно что-нибудь выжать. Скажу сразу без потерь здесь не обойдется. Весь вопрос в том, какой уровень потерь можно счесть приемлемым. Ответ, разумеется, зависит от ваших дальнейших видов на данный эскиз и желания (не желания) тратить на него время.

Поскольку, средние яркости клеточек фона и линий рисунка хоть и не слишком сильно, но все же отличаються, возможно применить метод описанный в предыдущем примере. Вот, примерно, что из этого может получиться:

Воспользовавшись советом Dilandu я очистил исходный рисунок в ручную один раз с сохранением текстуры бумаги ("залепил" клеточки "штампом") второй раз - без (просто "ластиком" потер фон):

В первом случае у меня ушло 10 минут, во втором -- 15. Что, по моему мнению, на такой несложный рисунок непозволительно долго. Ктому же, даже даже при пожатии в jpeg и уменьшении заметно невысокое качество обработки "ластиком", что бы его повысить придется затратить гораздо больше усилий: чаще менять кисти, аккуратнее обрабатывать края и т.п. Кроме того трудоемкость подобных "ручных" методов будет очень быстро возрастать при усложнении рисунка и увеличении колличества линий в нем.

Обратите внимание, что обсуждаемый здесь рисунок цветной следовательно отношение сигнал/шум будет неодинаковым в разных цветовых каналах. Этот факт прекрасно иллюстрируеться разборкой рисунка, например на RGB (Изображение -> Режим -> Разобрать -> RGB):

Обратите внимание на синюю компоненту, которая практически лишена клеточек! Правда, и яркость изображения там наименьшая.

Разобрать изображение можно не только на RGB. Слева канал "яркость" (разобрал как HSV), справа L-канал (LAB):

Как видите на этих изображениях яркость паразитных линий фона отличаеться от яркости линий рисунка, следовательно, фон, хотя бы частично, можно подавить при помощи "уровней". Слева на право, "L", "Яркость", "Синий":

Теперь, подклеиваем "Яркость", "Синий" к "L" в качестве слоев, и смешиваем все слои в режиме "Умножение":

Что к кому клеить я выбрал произвольно -- смысл от этого не меняеться, так же вы при желании можете поэксперементировать с методом смешивания слоев.

В полученом, после сведения, изображении все еще присутствует небольшой мусор, который, уже без особых усилий, можно удалить и вручную:

Несмотря на кажущуюся громоздкость, метод достаточно прост и позволяет без особых усилий быстро обрабатывать изображения с любым количеством деталей. Причем, ручная доводка если и требуеться, то только на самом последнем этапе и являеться на порядок более простой, чем полная ручная обработка исходного изображения.

Что бы покончить с этим пунктом -- последний штрих. Мы получили ч/б изображение. На мой взгляд этого вполне достаточно, но если по каким-то причинам у вас есть желание получить на выходе рисунок в первоначальных цветах, то можно сделать следующий финт ушами. В исходное изображение вклеиваем белый слой. К этому слою добавляем маску с параметрами "Белый (Абсолютно непрозрачный)" и вклеиваем в качестве маски полученное очищенное ч/б изображение:

Вот, что из этого у меня получилось:

Рисунок шариковой ручкой на листе в клетку. #2

Что опять!? Нет, на этот раз все действительно очень просто -- никаких шаманских плясок с разборкой на каналы не потребуеться. Для каждого канала в отдельности подгоняем уровни (на форме инструмента присутствует специальный переключатель каналов):



И, вуаля! Эх, всегда бы так просто...

Рисунок цветным карандашем на листе в клетку
(разделение по цвету)

Графика в стиле поэтов - "певцов революции"? Возможно, но нас интересует другое, а именно синий канал и его гистограмма:


Ситуация в точности повторяет самый первый случай и поступать необходимо соответственно:

Все это, конечно, хорошо, но главная изюминка метода заключаеться в том, что мы получаем в свои руки способ очищать от клеточек полутоновые рисунки. Кто хоть раз озадачивался такой проблемой понимает насколько это важно. Итак у нас имееться вот такой вот рисунок:

Собственно говоря, это абсолютно то же самое изображение только раскрашенное штриховкой. Если бы вместо красного карандаша применялся бы синий или сканирование бы проходило в режиме оттенков серого, избавление от клеточек превратилось бы в чертовски сложную проблему. А так нас опять выручает разложение на цветовые каналы:

Как видите самым важным каналом для нас оказываеться синий, который содержит почти исключительно полезную информацию, красный же напротив не несет ничего кроме клеточек фона, в зеленом примерно поровну и фона и изображения.

Вывод из этого можно сделать следующий: если вам очень приспичило порисовать, а под рукой ничего нет кроме клечаттого листа -- не осложняйте себе жизнь рисуйте чем угодно, но не синей шариковой ручкой, если есть возможность, используйте зеленую, касную, или даже черную ручку/карандаш (девушки могут воспользоваться губной помадой :) ) так вы избавите себя от большого колличества проблем в дальнейшем.

В заключении с получившимся рисунком можно произвести такую же операцию, что и в примере с лампочкой, и даже лучше. Создайте новое изображение такого же размера, что и полученное после обработки. Залейте фон нужным вам цветом, я не стал оригинальничать -- взял красный. Вклейте новый белый слой и дабавьте к нему в качестве маски обработанный синий канал.

И вот что получиться в итоге:

Конечно, применимость всех этих способов сильно зависит от внешних факторов и желаемого качества результата, но принебрегать ими полностью было бы, на мой взгляд, неразумно.




Комментарии

Сергей, Thu Jul 31 12:51:18 2008:
очень даже надо пояснять простые вещи ..
не все являются проффи и не всем надо многое, но простому пользователю удалить фактуру часто бывает нужно.

я же не заставляю юзера настроить взаимодействие
2х вифи точек с настройкой фаером и всех портов.. но ему бывает просто необходимо одключить самому ноут в том же инет кафе ..
так вот пишу ему пояснение .. что куда нажать ..
Николян, Sat May 24 10:50:24 2008:
Какую? Эту чтоли?
http://www.gimp.org/
аноним, Fri May 23 21:01:53 2008:
А где можно скачять прогу???
Rex Lockheart, Thu May 8 12:09:52 2008:
2 аноним:

Да ладно вам, батенька, злобствовать!
Человек старался облегчить жизнь другим - начинающим пользователям Гимпа. Спасибо ему сказать надо!

Ведь одна из самых серьёзных проблем в сообществе - недостаток (а то и вообще отсутствие) литературы по прикладным программам, написанным простым языком, доступным для понимания начинающих...

Есть только одно пожелание автору: проверять орфографию не только встроенным спеллчеккером.
Он ведь не понимает, когда в глаголах перед "ся" ставить мягкий знак, а когда нет...
аноним, Wed May 7 10:12:58 2008:
Какие то глупости Вы публикуете, любезнейший. Это все равно, что вести лекцию на тему как из сырых яиц сделать яишницу.
mr.M, Sat Sep 22 14:38:09 2007:
очень хорошо, немного не понятно, но может потом практика поможет. Однако все очнь расписано, очнь много иллюстраций и это хорошо.

Комментарии заморожены.

Новости:

Все новости на CitCity.ru

Компании месяца

 
Последние комментарии
Почему школам следует использовать только свободные программы (101)
20 Декабрь, 14:51
ОСТОРОЖНО: ВИНДОФИЛИЯ! (2250)

24 Декабрь, 22:53
Linux в школе: мифы про школу и информатику (334)
24 Декабрь, 22:43
Kubuntu Feisty (15)
24 Декабрь, 18:42
Software is like sex: it's better when it's free.
©Linus Torvalds