Обработка изображений с помощью процессоров табличных преобразований

Автор: Арефьев Е.Ю., Проскурин А.В.

Журнал: Компьютерная оптика @computer-optics

Рубрика: Автоматизация проектирования

Статья в выпуске: 7, 1990 года.

Бесплатный доступ

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

Короткий адрес: https://sciup.org/14058224

IDR: 14058224

Текст научной статьи Обработка изображений с помощью процессоров табличных преобразований

В настоящее время популярны алгоритмы локальной обработки, которые вырождаются в суперпозицию (возможно многократную) линейной обработки окном и поэлементного преобразования (ф = фо о ф, о ...о ФдО ...о Фр, где фд - алгоритм одного из указанных двух классов). Поскольку поэлементная обработка рассмотрена ранее, рассмотрим линейную обработку "окном". В общем виде оператор преобразования ф имеет вид g(m,n) = ф[(,т/п] = Е Е   dCk,I)’f(т+k, п+1)                                (1)

  • к, I G U f - функция яркости исходного изображения;

  • g - функция яркости обработанного изображения;

f(m,n)zg(ш,п) - их значения;

W - область "окна";

  • d - линейная маска;

a(k,l) - значения коэффициентов линейной маски.

Соотношение (1) описывает двумерную свертку функции яркости исходного изображения f с импульсной характеристикой а некоторой двумерной КИХ-системы. Выбирая определенным образом коэффициенты маски a(k,l) и размеры окна, можно выполнить различные операции по улучшению качества изображения: повышение резкости, подчеркивание контуров, сглаживания шумов и т.д.

Для эффективной аппаратурной реализации оператора (1) предлагается перейти к свертке поэлементных преобразований элементов окна. Причем, поэлементное преобразование предлагается применить для исключения операции перемножения а(к,1)" •■f(m+kz n+l) и замены ее операцией: а ( к,I)•f(m + kz n + l) = у^ ^[f(m + k, п+1)].

Таким образом, процедура локальной обработки принимает вид ф[Т,ш,п] = Е Е у. ,[f(m+kz n + L)]z k, I G U z 1 что позволяет исключить не только трудоемкую операцию умножения, но и существенно расширить класс решаемых задач.

Если используется прямоугольное окно W с размерами Кх L, то маска у содержит К* l таблиц поэлементных преобразований у^ ^. Для адресации этих таблиц необходимо Е - [ loga(K • к)] двоичных разрядов. Таким образом, маску поэлементных преобразований можно помещать в ОЗУ с организацией 2^ х к х L G-разрядных слов, где G, F имеют тот же смысл, что и для поэлементных преобразований (см. рис. 2).

write read

Часто для преобразования изображений используется совместное поэлементное преобразование двух полей в соответствии с соотношением f3(mzn) = d•f1(mzn)•fа(mzn) + Ь-^(т,п) ♦ c*fa(mzn);

где: f (mzn), f2(mzn) - элементы соответственно первого и второго входных полей; f3(mzn) - результат преобразования (элемент входного поля);

dzbzc - коэффициенты преобразования.

Используя табличные преобразования, можно эффективно реализовать эту процедуру следующим образом: все произведения вида const-f(mzn) заменить поэлементными преобразованиями f3

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

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

g(mzn) = logiс[f(mzn)J = logic[f(m+k, n + l) : k, I 6 ti]

W где: g(mzn) - обработанное изображение (бинарное); f(mzn) - исходное изображение (бинарное); logic - логическая функция по "окну" W.

W

Для "окна" Зх3 элемента объем памяти, требуемый для записи логической функции от всех элементов, попавших в окно, равен 2е бит, для окна 5Х5 элементов -2   ”32 Мбит. Поэтому "окно" 5Х5 не используют. Однако возможно компромиссное решение: повернутое "окно", диагонали которого содержат по пять элементов (рис. 3 где а - нормальное "окно", б - повернутое "окно" 5Х5 по диагонали). Требуемый объем памяти для него 213 - 8 кбит, что позволяет реализовать высокоэффективный логический фильтр на одной БИС ОЗУ (рис. 4).

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

A,

RAM

g

logic f(m ♦ k; n ♦ I)

k,l 6 W

write __w/R

read

Рис. t

Статья научная