Измерение и коррекция искажений изображения, вызванных дисторсией объектива сканера

Введение

Цифровое изображение, полученное со сканера имеет ряд искажений в сравнении с оригиналом. В этой статье рассматривается проблема искажений, источником которых является объектив (объективы) сканера. Дисторсией называется нарушение подобия в геометрической форме между предметом и его изображением [1]. В результате дисторсии изображение прямоугольной сетки приобретает бочкообразную (отрицательная дисторсия) или подушкообразную (положительная дисторсия) геометрию, как на рис. 1а и 1б соответственно. В сложных объективах характер дисторсии может иметь и смешанный, более сложный вид. Дисторсию можно характеризовать как изменение увеличения, даваемого объективом при увеличении угла, под которым объектив видит предмет.

Рис. 1.

Объектив сканера проецирует изображение на ПЗС линейку и дисторсия объектива проявляется в основном как искажение оложения вертикальных линий сетки. Неискаженность горизонтальных линий сетки обеспечивается равномерностью механического привода с шаговым двигателем.

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

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

Измерение дисторсии

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

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

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

Подготовка тестового образца

Тестовый образец должен содержать последовательность вертикальных (относительно направления сканирования) линиий равной толщины и равными интервалами между линиями. При подготовке такого теста в векторной форме в графическом редакторе (например CorelDraw) необходимо пользоваться сеткой оцифрованной в пикселах листа, а не в еденицх длины (мм, см). Использование сетки, оцифрованной в мм дает в результате печати линии разной толщины и с разным расстоянием, вследствии округления при расчете их положения и толщины на канве принтера. Поэтому подходящим способом является рисование линий непосредственно на канве принтера. При этом можно задать толщину линии и расстояние между ними в пикселах принтера. Минимальная толщина линии Smin,mm определяется наибольшей разрешающей способностью сканера Rscan_max,dpi и не должна быть менее изображения удвоенного размера пиксела ПЗС линейки сканера: Smin,mm > 2*(25,4mm / Rscan_max,dpi). Максимальная толщина линии не должна превышать 0.4 мм т.к. уменьшается количество линий на тесте и как следствие падает точность оценки дисторсии. Сканеры, работающие с чертежами и с картами имеют разрешение более 360 dpi, поэтому толщина линии будет составлять 2 точки принтера с разрешением 360 dpi (прибл. 0,15 мм). Расстояние между линиями можно выбрать равным округленному количеству точек принтера для длины в 1 мм.

Для удобства визуального контроля, отображения и ручной обработки каждой линии следует присвоить координату - номер линии от нулевой линии (начала координат). За начало координат принята линия, расположенная по центру теста. Она отмечается либо удвоенной шириной, либо красным цветом при печати теста для программного распознавания. При использовании расстояния между линиями приближенно равным 1 мм координаты линий соответствуют приближенно расстоянию в мм от начала координат. Каждую 10-ю линию следует отметить номером или ее расстоянием от нулевой линии. Пример фрагмента тестового образца приведен на рис. 2.

Рис. 2.

Ширина теста должна перекрывать формат сканера по ширине. Тест можно изготовить на принтере. Лучшие результаты дает лазерный или струйный принтер. Для широкоформатных сканеров тест можно распечатать на плоттере. Следует использовать по возможности качественную бумагу с покрытием. Для струйного принтера (плоттера) лучше выбирать расположение листа при котором расстояние между линиями формируется перемещением каретки. При этом достигается меньшая ошибка печати.

Подготовка (печать на канве принтера) и отправка на печать выполняется программой ReadModuleScan. Нужно выбрать пункт "Tools-->PrintDistortionTest", в диалоге открыть свойства принтера на котором будет производиться печать, установить нужный формат, разрешение и более высокое качество печати. Отправить тест на печать кнопкой "PrintDistortionTest". При печати эта функция округляет количество точек принтера между линиями до 1 мм, а толщину линии до 0.15 мм. Линиями теста будет заполняться вся длина выбранного формата.

Сканирование тестового образца

Сканирование нужно произвести на максимальном физическом разрешении сканера, когда количество пикселов в ширину у полученного изображения равно количеству рабочих пикселов ПЗС линейки (линеек) сканера. Формат передачи цветов должен быть TrueColor, а формат файла BMP.

Определение положения линий на изображении теста

После получения сканированного изображения теста необходимо определить горизонтальные (ось Х) координаты вертикальных линий в пикселах. Определение координат линий можно произвести вручную с помощью графического редактора либо с помощью программы ReadModuleScan.

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

  1. Рассчет яркостного изображения строки теста из его многоспектрального изображения: где - спектральные (цветные) компоненты, nRad - количество спектральных компонент.
  2. Применение к яркостному изображению согласованного фильтра с формой импульса вертикальной полосы:
  3. Определение положения экстемумов фильтрованного сигнала изображения, соответствующего вертикальным линиям теста:

Оценка кривой дисторсии

  1. Расчет графика дисторсии, как разности между положениями вертикальных линий, отстоящих между собой на расстоянии : где -размер изображения, y - расстояние между линиями на тесте, оно соответствует размеру оригинала.
  2. Значение присваивается линии соответствующей центру интервала

На рис. 3 показаны плоскость объектов и изображений оптической системы. В плоскости объектов точки теста (0, 1, 2, 3, 4) равномерно распределены по строке через расстояние y. В плоскости изображений расстояния между точками не сохраняются вследствии дисторсии.

Рис. 3.

Величину размера изображения y выбирают из компромисса c одной стороны искажений за счет сглаживания кривой дисторсии при увеличении y и увеличения искажений за счет ошибок пространственной дискретизации при уменьшении y с друглй стороны. Наилучшие результаты были получены для величины y - 10 - 20 мм в зависимости от типа дисторсии и разрешающей способности сканера.

Анализ результатов измерения дисторсии

Результаты измерения дисторсии показаны на рис. 5 и 6 кривыми желтого цвета (Source Image Size). По оси ординат отмечены координаты изображений Coord(i), по оси абсцисс значения , выраженные в количестве пикселов изображения. Дисторсия, показанная на рис. 4 была получена на сканере UMAX PowerLookXL формата А3 с разрешением 800 dpi. Большая часть видимого поля в центре имеет малые геометрические искажения. Для боковых полей начиная с определенной координаты искажения линейно нарастают по мере удаления от центра. Такой вид искажений имеют объективы, скорректированные к дисторсии только для определенных углов.

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

Рис. 4.

Характеристика дисторсии для сканера с нескорректированным к дисторсии объективом ОКС22 и разрешением 250 dpi показана на рис. 5. Искажения изменяются вдоль строки плавно и хорошо аппроксимируются параболой.

Рис. 5.

Метод коррекции дисторсии

Рассмтрим случай когда ПЗС линейка работает с идельным объективом без дисторсии. ПЗС линейка сканера формирует электрический сигнал пропорционально яркости площади изображения пиксела на объекте, а идеальный объектив обеспечивает постоянный коэффициент поперечного увеличения вдоль строки. В этом случае изображения пикселов на объекте имеют равные размеры EPS и потому расположены равномерно вдоль считываемой строки. Так обеспечивается эквидистантная пространственная дискретизация.

При изменении коэффициента поперечного увеличения вдоль строки у реального объектива каждый пиксел ПЗС изображается на объекте площадками с изменяющимся размером. Результатом является неравномерное расположение неравновеликих изображений пикселов ПЗС.

Предлагаемый метод коррекции искажений дисторсии основан на вычислении размеров изображений каждого пиксела ПЗС PXS[i] и приведения неэквидистантной пространственной дискретизации к эквидистантной. На рис. 6 представлены неравновеликие отрезки изображений пикселов ПЗС относительно равновеликих интервалов идеальной системы без геометрических искажений.

Рис. 6.

Таким образом, метод коррекции включает:

  1. Вычисление размеров пикселов вдоль строки, PXS,
  2. Вычисление координат пикселов относительно равновеликих интервалов CCDPOS,
  3. Расчет интерполяционного фильтра для равновеликих пикселов с изменяющимися пространственными характеристиками FILTERCONTRIBS.

На рис. 5 и 6 представлены графики дисторсии изображения теста (кривые красного цвета) после применения к тесту процедуры коррекции. Для изображений с высоким разрешением (более 600 dpi) отклонение размеров оригинала y=10mm укладывается в 4 пиксела. При малом разрешении (менее 300 dpi) отклонения укладываются в 2 пиксела.

Программное обеспечение

Для реализации предлагаемого метода оценки и коррекции дисторсии была разработана программа ReadModuleScan. Использовалась среда разработки Delphi 5. Опишем порядок действий для оценки дисторсии и получения фильтра-корректора программой ReadModuleScan. Предполагается что тест, как было описано выше распечатан, отсканирован и сохранен в формате BMP, TrueColor.

  1. Открыть файл с изображением теста: SpeedBar > Iviewer,
  2. Определить с помощью курсора мыши номер строки изображения теста, содержащий все линии. Номер строки отображается на панели координат курсора справа в окне просмотра и соответствует координате Y,
  3. Открыть окно операций: SpeedBar > Design, открыть закладку DistortionEstimator,
  4. В поле RowNumber ввести номер выбранной строки теста, в поле ZeroMark выбрать Width - использование отметки для центральной линии в виде двойной толщины, отметить пункт SourceDistortion - первичное оценивании дисторсии, выбрать величину размера изображения y в поле ImageSize,mm, в радиогруппе ChartOutput выбрать mmLineSizewApproximation, запустить вычисление дисторсии кнопкой Refresh,
  5. Оценить в появившемся окне график дисторсии на отсутствие скачков с увеличением значения в 2 раза (пропуск линии) и с уменъшением в 2 раза (ложное обнаружение линии).
  6. Рассчитать фильтр-корректор: открыть закладку UnDistortionFilter, нажать кнопку Create. При необходимости дальнейшего использования сохранить фильтр на диск кнопкой Save. Файл сохраняется с расширением .udflt.
  7. Оценить качество коррекции путем коррекции теста созданным фильтром. Запустить коррекцию: выбрать в списке OperationType > CorrectDistortion, запустить коррекцию кнопкой OK. После выполнения операции в окне просмотра отобразиться изображение после коррекции. Повторно выполнить оценку дисторсии по пп. 3-5 не выбрав на закладке DistortionEstimator пункт SourceDistortion - режим сравнения полученной дисторсии с исходной дисторсией, полученной при выбранном пункте,
  8. Качество фильтра может быть улучшено путем подбора параметров: тип аппроксимации Approximation (полиномиальная, скользящее среднее), порядка модели при аппроксимации (PolinomOrder, MA Filter Width), размера изображения ImageSize,mm.
  9. Полученный и сохраненный файл с фильтром-корректором в дальнейшем можно открыть и применить к изображению, подлежащему коррекции (п.1, 7). При коррекции сканированных изображений необходимо использовать фильтр, который был создан с использованием тех же пикселов ПЗС линейки, что и изображение, подлежащее коррекции. Т.е. при корекции изображения, полученного вырезанием прямоугольного фрагмента из всего сканирумого поля нужно использовать фильтр, обученный по фрагменту теста такой же ширины и положения по горизонтали.

    Дисторсия в широкоформатных сканерах

    Широкоформатные сканеры с шириной поля 900…1300 мм имеют многокамерную составную конструкцию. Составные оптоэлектронные системами (рис. 7) состоят из набора камер, каждая из которых формирует изображение смежных пространственных участков, с целью их последующего объединения, отображения и обработки в виде единого изображения.

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

    Рис. 7.

    Широкоформатные сканеры широко используются в картографии и обработке чертежей, где требования к искажению оригинала высоки. Но из-за составной конструкции сканера кроме дисторсии в каждой камере наблются искажения, вызванные разбросом коэффициента увеличения, параметров оптических деталей в каждой камере. График дисторсии для составного сканера выглядит как это показано на рис. 8. Для коррекции дисториии фирма Vidar (www.vidar.com) поставляет обновление в программное обеспечение своих щирокоформатных сканеров, загружаемое в сканирующие модули и выполняющее коррекцию в реальном времени.

    Рис. 8.

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

    Литература

    1. "Справочник конструктора оптико-механических приборов", ред. М. Я. Кругер, В. А. Панов, Машгиз, М., 1963.
    2. Dale Schumacher "Graphics Gems III", Academic Press.
      1. Обновлено 22 января 2004 г.

        к началу страницы
        Hosted by uCoz