- •Техническое задание Постановка задачи
- •Введение
- •Описание алгоритмов реализации эффектов для изображения
- •Наложение телевизионных помех (имитация)
- •Случайно разбросанные квадратики
- •Деление изображения линиями на 4 части от центра к краям
- •Деление изображения линиями на 4 части от краев к центру
- •Алгоритм установки прозрачности изображения
- •Алгоритм получения негатива изображения
- •Алгоритм фильтрации изображения для ослабления перепадов яркости
- •Алгоритм получения черно-белого изображения
- •Описание программного продукта
- •Программно-аппаратные требования
- •Язык и среда программирования
- •Входные и выходные данные
- •Структура программы
- •Алгоритм восстановления прозрачного изображения
- •Описание структурных элементов программы
- •Описание интерфейса и инструкция пользователю
- •«Случайно разбросанные квадратики»;
- •Заключение
- •Библиографический список
- •Приложение 1
- •Приложение 2
Деление изображения линиями на 4 части от центра к краям
Для осуществления такого деления мы используем 4 матрицы элементов 5x5. Задаем пиксель как центральную точку всех 4х матриц с координатами x и y, равными половине ширины изображения по x и половине высоты изображения по y, обрабатываем все 24 пикселя, лежащие вокруг центрального в удалении не более 2х пикселей, и сам центральный, устанавливая нулевые значения параметров цветовых каналов RGB для каждого пикселя.
Далее мы для каждой центральной точки 4х матриц выполняем изменение координат: для первой матрицы увеличиваем y, не изменяя x (линия от центра вверх), для второй матрицы уменьшаем y, не изменяя x (линия от центра вниз), для третьей матрицы увеличиваем x, не изменяя y (линия от центра вправо), для четвертой матрицы уменьшаем x, не изменяя y (линия от центра влево), тем самым выполняя перемещение от центра изображения к его краям всех четырех матриц элементов, обнуляющих значения параметров цветовых каналов RGB для каждого пикселя, создавая тем самым 4 черных линии толщиной в 5 пикселей, делящих изображение ровно на 4 части. Изменение координат происходит до достижения крайними элементами матриц границ изображения.
Деление изображения линиями на 4 части от краев к центру
Алгоритм аналогичен алгоритму деления изображения линиями на 4 части от центра к краям, за исключением начальных координат центральных точек 4х матриц, и изменений их координат.
Начальные координаты задаются следующим образом: для первой матрицы координаты центральной точки равны половине ширины изображения по x, и высоте изображения по y минус 2; для второй матрицы – половине ширины изображения по x, и двум по y; для третьей матрицы – двум по x, и половине высоты изображения по y; для четвертой матрицы – ширине изображения минус 2 по x, и половине высоты изображения по y;
Изменения координат происходят следующим образом: для первой матрицы уменьшаем y, не изменяя x (линия от верхнего края изображения до его центра), для второй матрицы увеличиваем y, не изменяя x (линия от нижнего края изображения до его центра), для третьей матрицы увеличиваем x, не изменяя y (линия от левого края изображения до его центра), для четвертой матрицы уменьшаем x, не изменяя y (линия от правого края изображения до его центра), тем самым выполняя перемещение от краев изображения к его центру всех четырех матриц элементов, обнуляющих значения параметров цветовых каналов RGB для каждого пикселя, создавая тем самым 4 черных линии толщиной в 5 пикселей, делящих изображение ровно на 4 части. Изменение координат происходит до совмещения центральных элементов всех четырех матриц в центре изображения.
Алгоритм установки прозрачности изображения
Для реализации эффекта мы проходимся по пикселям с координатами, являющимися случайными числами, полученными с помощью генератора случайных чисел, находящимися в пределах от 0 до полной ширины изображения для x, и от 0 до полной высоты изображения для y, и устанавливаем для каждого обрабатываемого пикселя значение альфа-канала, определяющего прозрачность цвета, выбранное нами, от 0 до 255 (согласно формату ARGB).
