Компания
35,83
рейтинг
21 января 2013 в 09:26

Разработка → nanoCAD 4.5: растровое редактирование


Одно из ярких нововведений nanoCAD 4.5 – это работа с растровыми изображениями. Что это? Зачем? И что дает пользователям? Попробуем разобраться…

Из-за чего сыр-бор? Растр против вектора

Прежде чем рассказывать, в чем «вкусность» функции растрового редактирования в nanoCAD, надо чуть-чуть погрузиться в базовые понятия – мир растра и вектора.

Думаю, что разница между растром и вектором уже должна быть понятна любому современному человеку. Лучше всего эта разница иллюстрируется изображением, представленным на рис. 1.
Рис. 1. Растровое (справа) и векторное изображение

Вектор – это математическое описание, растр – набор точек. Если расписывать разницу подробнее, всплывет много деталей (плюсов/минусов?). Попробуйте ответить на вопросы: насколько легко внести изменения в векторный и в растровый чертеж: зеркально отобразить, сменить тип линии, ее толщину? легко ли увеличить чертеж в три раза? какой размер занимает чертеж формата А0 в растровом формате?.. Понятно, что векторный чертеж редактировать намного проще.

И вроде бы растр имеет кучу недостатков; кажется, что векторный формат более перспективен… Но есть у растра и несколько неоспоримых преимуществ. Например, сложность внесения изменений в растровый чертеж – это одновременно и плюс: представьте себе, что вы закончили работу над чертежом и вам надо защитить его от изменений. Чертежи оборудования часто хранятся на сайтах производителей в растровом формате. И, наконец, вернуть распечатанный чертеж обратно в компьютер проще всего сканированием, а сканкопия – это растр… Именно из-за простоты перевода бумажных чертежей в электронный формат с помощью сканера и благодаря максимальному соответствию копии оригиналу архивы чертежей на предприятиях создаются в растровом формате.

В общем, растр – это один из форматов хранения рабочей документации. И значит с ним надо уметь работать. Но растр растру рознь…

Немного о качестве растрового изображения

У растра есть фундаментальная характеристика, напрямую влияющая на его качество, – разрешение. Учитывая, что растровое изображение – это набор точек, ответ на вопрос «Сколько точек растра помещается в определенном отрезке?» и есть разрешение растра. За отрезок обычно принимают дюйм. Разрешение 300 точек на дюйм (dot per inch или dpi) означает 300 точек на 2,54 сантиметра. Разрешение в 72 dpi – это ужас, работать с ним невозможно, 1200 dpi – в общем-то хорошее полноцветное изображение с очень высоким качеством. Пример одного и того же изображения с разным разрешением приведен на рис. 2.
Рис. 2. Разрешение растра напрямую зависит от качества изображения

Если говорить о чертежах в растровом формате, то для работы желательно иметь чертеж с разрешением 300-600 dpi. Меньше – функции векторизации и привязки будут работать некорректно, больше – избыточно, чертеж займет слишком много места в памяти и на жестком диске.

Не менее важная характеристика чертежа в растровом формате – это цветность изображения. Давайте посмотрим на рис. 3.
Рис. 3. Монохромное и grayscale изображение

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

Последнее требует пояснения. Наряду с понятием качества растра есть еще и понятие качества чертежа. Если чертеж распечатать и тут же отсканировать, у него будет достаточно высокое качество. Такой белок-чертеж требует минимальных инструментов повышения качества. Но вот если с чертежа несколько раз снимались копии, он долго лежал в хранилище, его бумага пожелтела и деформировалась – качество чертежа начинает теряться. А уж если используемый чертеж очень стар и является копией на светочувствительной бумаге (синька), тут не обойтись еще и без реставрации (рис. 4, чертежи взяты с сайта RasterArts.ru и из Википедии).
Рис. 4. Растровые чертежи часто требуют восстановления и реставрации – особенно старые чертежи-синьки

При реставрации применяется множество методов – от удаления фона (то есть фактически удаления растровых пятен определенного размера) до бинаризации, при которой определенный цвет выделяется в отдельное монохромное изображение. Со всеми этими методами великолепно управляются программные продукты серии Raster Arts (интересующимся рекомендуем сайт www.rasterarts.ru, где вся серия представлена вполне подробно). Главная задача инструментов реставрации – спасти старый бумажный чертеж, перевести его в электронный формат и поместить в архив, снабдив информационной карточкой.

А далее с этими растровыми чертежами надо работать и выпускать на их базе новую документацию. Вот набор таких инструментов и появился в nanoCAD 4.5…

Набор инструментов nanoCAD 4.5 для работы с растровыми чертежами

Итак, тем или иным образом вы получили растровый чертеж: либо из архива предприятия, либо из базы нормативных документов NormaCS, либо из сети Интернет, либо сами отсканировали из учебника. Что теперь с этим делать?
Рис. 5. Функции для работы с растром

В целом список функций для работы с растром показан на рис. 5, но давайте рассмотрим их на реальном примере.

Вставка изображения

Чтобы поместить растровый чертеж в *dwg-документ, достаточно воспользоваться командой РОТКРЫТЬ (Вставка -> Ссылка на растр…). Вставлять на поле чертежа можно любое растровое изображение (хоть монохромное, хоть цветное) и в любом из пяти форматов (TIFF, JPG, PNG, PCX и BMP). По опыту работы, самый лучший формат – TIFF. Он может хранить многостраничные растровые изображения без потери качества. А монохромные растры при этом еще и будут занимать минимальный объем – чертеж формата А4 и средней насыщенности потребует при разрешении 300 dpi порядка 50 Кб.

Для примера возьмем рабочий чертеж из типовой документации, хранящейся в базе NormaCS (рис. 6).
Рис. 6. Один из чертежей серии 1.100.3-6, утвержденный Госстроем в 1988 году. Еще действующий! Взят из базы нормативных документов NormaCS

Коррекция растрового изображения

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

В процессе хранения и сканирования бумажного чертежа пострадали и его качество, и габариты (сжимание бумаги). Это означает, что ни о какой точности пока говорить не приходится: если сейчас просто «сколоть» документацию, мы получим некорректный векторный чертеж. Растровый документ надо сначала корректировать.

Вызываем команду Коррекция по 4-м точкам (Framing), указываем формат, которому должен соответствовать растр, затем четыре угловых точки на растре, которые соответствуют идеальной рамке, нажимаем ОК – и получаем выровненное растровое изображение (рис. 7).
Рис. 7. Операция Коррекция по 4-м точкам позволяет выправить бумажный чертеж и получить более точную подоснову

К функциям коррекции изображения также относятся команды Повернуть/отобразить растр (существует в любом графическом редакторе, но в нашем случае не понадобится выгружать растр во внешнее приложение), Устранить перекос и Обрезка растра по прямоугольнику. Последние две очень важны. Оригинал нередко сканируется с небольшим перекосом, а nanoCAD может не просто устранить этот перекос – анализируя линии, программа способна самостоятельно определить угол перекоса и устранить искажения в автоматическом режиме.

Редактирование растрового изображения

Допустим, что теперь вставленный из NormaCS документ надо привязать к нашему проекту. Для этого следует удалить с чертежа часть информации (данные штампа, код изделия, цифру 30 в правом верхнем углу и т.п.). Ну и записать поверх растрового чертежа собственные данные. Идеальный инструмент для первой части этой задачи – Ластик. Вызываем команду RastrEraser (Растр -> Ластик), задаем размер ластика и аккуратно стираем с документа лишнее (рис. 8).
Рис. 8. Универсальные инструменты Ластик, Карандаш и Заливка позволяют быстро привязать документ к нашему проекту

Существует и обратная команда – Карандаш, которая, наоборот, позволит дорисовать данные. Конечно, чертить карандашом весь документ не имеет смысла, но вот восстановить стертую ластиком линию – очень кстати. Есть еще команды Заливка и Стирание заливкой: они позволяют заполнить замкнутую область новым цветом. Последняя команда особенно удобна, когда с чертежа надо удалить сложную область – скажем, буквы или изолированную деталь. Щелкаешь в букву или черную часть чертежа – и область исчезает…

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

Растровая привязка

Чертить поверх растрового изображения достаточно легко – ставишь линии на глазок и постепенно вычерчиваешь то что нужно. Но nanoCAD и тут обеспечил автоматизацию: начиная с версии 4.0 есть возможность привязываться к растровым объектам и ловить типовые привязки (конечная точка, центр окружности, ближайшая и т.п.).

Фактически это временная векторизация. Пока пользователь ведет курсор над растровым чертежом, программа анализирует структуру растра и пытается найти вектор, максимально приближенный к растровому «пятну» под курсором. Если «пятно» вытянутое, то это, скорее всего, линия, если замкнутое – окружность, если закругляется – дуга. Выглядит совершенно фантастически и очень удобно в работе (рис. 9).
Рис. 9. Работая над растровым чертежом, nanoCAD проводит векторизацию документа на лету, что позволяет использовать растровые и векторные привязки

Работа с цветным изображением

Несмотря на то что изначально команды растрового редактирования были задуманы для работы с чертежами, в nanoCAD есть возможность работать и с цветным изображением. Команды Поворот, Зеркальное отражение, Ластик, Карандаш, Обрезка изображения применимы к любым растрам. В то же время ряд команд (Устранение перекоса в автоматическом режиме, Растровая привязка) работает только с монохромными чертежами. Это надо иметь в виду.

Вывод документации на печать

Работая в nanoCAD, пользователь получает гибридный чертеж, в котором есть и растровые, и векторные данные. Как же этот чертеж будет выглядеть на бумаге? Сколь ни удивительно – практически так же, как обычный векторный. Если качество исходного растра хорошее (читай, разрешение растра не менее 300 dpi), то на бумаге человеческий глаз не сможет отличить растровые линии от векторных. В правой части рис. 10 векторные данные специально выделены синим цветом.
Рис. 10. Технологии работы с растровым изображением позволяют работать в среде nanoCAD с гибридными чертежами, содержащими как вектор, так и растр

Такая технология существенно сокращает время работы над документацией. Благодаря nanoCAD нет необходимости перечерчивать весь документ: правишь только ту часть, которую надо изменить. И выводишь готовый чертеж на печать. Профит!
Автор: @dows

Комментарии (3)

  • 0
    Было бы здорово, если бы вы хоть как то осветили алгоритмы коррекции сканированных изображений.
    • 0
      Да, сам хочу. Но надо самих разработчиков привлекать, которые эти алгоритмы писали… А они, как обычно, жутко занятые (((
      Но поговорю — может найдут время ))
    • 0
      А что вас именно интересует? Я вам аналогию из фотошопа подтяну быстро, а там по названию фильтров нагуглить можно алгоритмы
      .

Только зарегистрированные пользователи могут оставлять комментарии. Войдите, пожалуйста.

Самое читаемое Разработка