Помощничек
Главная | Обратная связь


Археология
Архитектура
Астрономия
Аудит
Биология
Ботаника
Бухгалтерский учёт
Войное дело
Генетика
География
Геология
Дизайн
Искусство
История
Кино
Кулинария
Культура
Литература
Математика
Медицина
Металлургия
Мифология
Музыка
Психология
Религия
Спорт
Строительство
Техника
Транспорт
Туризм
Усадьба
Физика
Фотография
Химия
Экология
Электричество
Электроника
Энергетика

Преобразование изображений



 

Ц е л ь р а б о т ы: овладение методами преобразования изображений.

 

Задание к работе

1. Изучить возможности использования однородных координат для преобразования точек и прямых на плоскости.

2. Рассмотреть частные случаи преобразований:

а) параллельный перенос;

б) поворот на угол вокруг начала координат;

в) симметрия относительно точки;

г) симметрия относительно оси;

д) масштабирование.

3. Аппроксимировать многоугольником заданную фигуру (в соответствии с номером варианта). Составить программу, позволяющую выполнять перечисленные в п. 2 преобразования полученного многоугольника.

 

Содержание отчета

1. Постановка задачи.

2. Спецификации подпрограмм.

3. Описание основных алгоритмов.

4. Тексты программ.

5. Ответы на контрольные вопросы.

 

Методические указания

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

Преобразование сдвига реализуется наиболее просто и заключается в переписывании части изображения (bitblt-операции – Bit Block Transfer). При этом возможно исполнение некоторых операций над старым и новым пикселями с одинаковыми координатами.

Наиболее употребляемыми являются:

· замена – новый пиксель просто заменяет старый,

· исключающее ИЛИ – в видеопамять заносится результат операции XOR над старым и новым кодами пикселей. Эта операция обычно используется дважды – вначале для занесения некоторого изображения, например, перекрестия и повторного его занесения для восстановления исходной картины.

Принято различать два типа преобразования масштабирования:

· целочисленное – zoom,

· произвольное, когда коэффициент масштабирования не обязательно целое число, – transfocation.

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

Определенные проблемы, связанные с дискретным характером изображения, возникают и при преобразовании поворота растровой картины на угол, не кратный 90o. Здесь возможны два подхода:

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

· Сканируются строки результирующей картины и по координатам очередного пикселя определяются координаты пикселя из исходного изображения. Этот подход гарантирует отсутствие дырок, кроме того, исключает повторное занесение пикселей.

Используются два основных способа формирования геометрических элементов моделей – это построение по заданным отношениям (ограничениям) и построение с использованием преобразований.

Рассмотрим построение с использованием преобразований.

Построение нового объекта с использованием преобразований заключается в следующем:

- задается преобразуемый объект;

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

- выполнение преобразования; в случае аффинного преобразования для векторов всех характерных точек преобразуемого объекта выполняется умножение на матрицу; для углов вначале переходят к точкам и затем выполняют преобразование.

 

Варианты заданий

1. Король (шахматная фигура). 9. Зонтик.

2. Пешка (» »). 10. Ваза.

3. Ферзь (» »). 11. Лопата.

4. Ладья (» »). 12. Груша.

5. Слон (» »). 13. Лодка с парусом.

6. Рыба. 14. Шляпа.

7. Ель . 15. Корзинка.

8. Корона.

Контрольные вопросы:

1. Перечислите базовые преобразования плоскости.

2. Понятие однородных координат на плоскости.

3. Как задается перспективное преобразование плоскости?

4. Определение проективно-афинного преобразования.

5. Как выглядит матрица для преобразования поворота, масштабирования, сдвига?

 

 




Поиск по сайту:

©2015-2020 studopedya.ru Все права принадлежат авторам размещенных материалов.