logo
МИРЭА / Методичка_2010 / Методичка_2010

Геометрические преобразования изображений

На закладке «Геометрия» представлен набор фреймов, реализующий различные геометрические преобразования над изображениями, в т.ч. аффинное и перспективное.

Также операции геометрических преобразований реализованы в фреймах Trnsf2_1 иTrnsf1_1, находящихся в закладке «Писофт 8.0».

На рис. 2.6.23 и рис 2.6.24 показаны схемы, реализующие аффинное и ортогональное преобразования с осуществлением привязки точек первого изображения к соответствующим точкам второго. В два фрейма ImImport1 иImImport2 источников данных загружены изображения (окна слева и центральное), повёрнутые на 90 градусов друг относительно друга. Расставим на каждом изображении по 3 маркера, по которым фреймTrnsf2_1 произведёт привязку. Результирующие изображения выведены в правые окна (рис. 2.6.23 и рис 2.6.24). Заметим, что в окне диалогаInformation(рис. 2.6.24) значение параметраFiRadугла взаимного положения изображений равен 1,566, что подтверждает, что изображения повёрнуты друг относительно друга на 90 градусов.

Рис. 2.6.23. Аффинное преобразование. Привязка точек первого изображения к соответствующим точкам второго. В двух первых окнах слева направо находятся исходные изображения. В третьем окне – результат.

Рис. 2.6.24. Ортогональное преобразование. Привязка точек первого изображения к соответствующим точкам второго. В двух первых окнах слева направо находятся исходные изображения. В третьем окне – результат.

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

На исходное изображение в окне слева (рис. 2.6.25) нанесены два вектора в направлении слева направо и навстречу друг другу. Фрейм RTransf1 реализует преобразование в направлении заданных векторов (изображение в центре), а фреймRTransf2, в котором выбран пункт меню «Инверсия» (рис. 2.6.25), выполняет преобразование в направлениях противоположных заданным. Т.е. для каждого вектора в направлении из конечной точки в его начало. Полученное изображение помещено в окно справа.

Рис. 2.6.25. Резиновое преобразование. Окна изображений слева направо: исходное изображение с нанесёнными векторами, вдоль которых происходит преобразование; трансформированное изображение вдоль заданных векторов; трансформированное изображение вдоль направлений противоположных заданным

Ещё один полезный фрейм в закладке «Геометрия» – фрейм Fragвырезки фрагмента изображения (2.6.26) позволяет с помощью мыши вырезать прямоугольный фрагмент загруженного изображения, указывая левый верхний и правый нижний углы прямоугольника. В математическом плане, кроме вырезки фрагмента, эта операция позволяет моделировать сдвиг в плоскости изображения.

Рис. 2.6.26. Меню фрейма Fragвырезки фрагмента изображения.