Во вложении пример программы с исходным и преобразованным изображением.
Image transform - программа для преобразования изображений
-
Программу можно использовать для выравнивания искаженных изображений изначально прямоугольной (квадратной) формы, для создания текстур и т.д. После открытия файла изображения нужно указать 4 точки, которые станут углами преобразованного изображения. Для выбора точки нужно навести курсор мыши в нужное место и нажать кнопку на клавиатуре цифру от 1 до 4, в зависимости от того какую точку нужно установить в выбранное место. Для более точной установки координат можно выделить точку нажатием на ней курсором мыши, а потом курсорами на клавиатуре двигать точку в нужное место.
Во вложении пример программы с исходным и преобразованным изображением.Внес программу на svn в ревизии 7929.
Функционал реально впечетляющий! Управление мне кажется было бы удобнее мышкой...
Из хаоса в космос
Что-бы контрольные точки мышей перемещать? Наверное надо будет добавить и такое, потому что бывает не очень удобно.Leency wrote:Управление мне кажется было бы удобнее мышкой...
Алгоритм работы программы:
Открывается изображение и из него делается текстура для библиотеки TinyGL. (Если ширина изображения не кратна 2-м в какой-либо степени то оно дополняется пустыми полями с двух сторон до нужной ширины).
Пользователь задает 4 контрольные точки, 5-я точка вычисляется как среднее арифметическое от этих 4-х точек.
Вычисляются текстурные координаты для точек (в пределах от 0 до 1).
Рисуются 4 треугольника оп выпрямленным координатам.
Если все устраивает можно сохранять полученное изображение.
Еще нужно будет сделать автоматическое дополнение изображения полями по высоте, если размер не кратный 2 в степени.
Who is online
Users browsing this forum: No registered users and 1 guest