
На этом уроке мы по-пиксельно поработаем с картинками. Сделаем конвертацию картинки в чёрно-белый формат.
Ссылка на рекомендуемую статью — внизу.
Самостоятельное задание:
Создать проект и настроить форму.
Сделать загрузку картинки из файла.
Написать алгоритм конвертации картинки.
Приложить два скриншота программы: до и после обработки изображения.
На этом уроке мы доработаем программу обработки изображения, добавим алгоритм изменения яркости и контрастности у картинки.
Ссылка на рекомендуемую статью — внизу.
Самостоятельное задание:
Добавить ползунок TrackBar на форму.
Добавить комментарии к ползунку.
Сделать динамическое описание при изменении ползунка.
Написать алгоритм изменения яркости.
Написать алгоритм изменения контрастности.
Оптимизировать программу — ускорить обработку.
* Добавить сохранение картинки в файл.
На этом уроке мы напишем алгоритм для создания фильтра градационной коррекции тремя различными способами:
синусоидальным, экспоненциальным и логарифмическим.
Самостоятельное задание:
Разобраться в алгоритме градационной коррекции.
Разместить на форме комбобокс из 4 элементов.
Создать алгоритм для нового фильтра.
Создать три функции для каждого способа.
Приложить скриншот рисунка ДО и ПОСЛЕ применения фильтра.
На этом уроке мы создадим ещё один фильтр — гамма-коррекции. В основе формулы лежит степенная функция, которую мы и будем применять.
Самостоятельное задание:
Разобраться в алгоритме гамма-коррекции.
Разместить на форме ползунок.
Создать алгоритм для нового фильтра.
Приложить скриншот рисунка ДО и ПОСЛЕ применения фильтра.
На этом уроке мы подготовим форму для создания программы, которая будет менять размер изображения.
Рекомендуемый материал можно прочитать, перейдя по ссылке внизу:
Самостоятельное задание:
Почитать рекомендуемую статью.
Найти иконку для новой программы.
Скопировать и подготовить прошлый проект.
Подготовить картинки для эксперимента.
На этом уроке мы реализуем алгоритм ближайшего соседа для изменения размера изображения.
Рекомендуемый материал - статья на "хабре" о масштабировании изображений (ссылка — внизу).
Самостоятельное задание:
Разместить Label и TrackBar на форме.
Сделать изменение надписи при скроллинге.
Убрать лишнее из программы.
Написать алгоритм формирования оранжевого прямоугольника.
Сделать вычисление координат ближайшего пикселя.
Дописать алгоритм и протестировать программу.
На этом уроке мы рассмотрим понятие интерполяции. Разберём алгоритм билинейной интерполяции для изображения. Создадим алгоритм в нашей программе и протестируем его работу на разных картинках.
Рекомендуемые страницы с информацией о билинейной интерполяции можно найти, перейдя по ссылкам внизу.
Самостоятельное задание:
Разобраться с понятием интерполяции.
Изучить рекомендованные статьи.
Разобраться в алгоритме билинейной интерполяции.
Разместить на форме ComboBox и добавить два пункта.
Написать алгоритм для красного канала.
Воспользоваться рефакторингом — вынести код в отдельный метод.
Создать картинку 2x2 из разноцветных квадратиков.
Протестировать работу алгоритма при 5000% увеличении картинки 2x2.
Сравнить результаты различных методов изменения размера.
На этом уроке подробно показываю и объясняю, что такое делегаты, зачем они нужны и как их использовать.
Самостоятельное задание:
Добавить три визуальных компонента для отображения кубиков.
Импортировать картинки с кубиками в проект.
Создать класс Dice.
Создать и реализовать три функции для отображения кубиков.
Описать делегат.
Добавить делегат в класс Dice — в описание и в конструктор.
Передать делегат при создании экземпляра класса.
Протестировать работу программы во всех вариантах.
Протестировать "суммирование" и "вычитание" делегатов.
В этом курсе мы напишем алгоритмы различных графических фильтров: градации серого, изменение яркости и контрастности, градационная коррекция и гамма-коррекция. Каждый алгоритм пишется с нуля и сразу тестируется в программе.
Далее мы напишем два алгоритма масштабирования изображения: методом ближайшего соседа и билинейной интерполяции.
В конце курса есть дополнительный бонусный урок об использовании делегатов на практических примерах.
В этом курсе мы напишем алгоритмы различных графических фильтров: градации серого, изменение яркости и контрастности, градационная коррекция и гамма-коррекция. Каждый алгоритм пишется с нуля и сразу тестируется в программе.
Далее мы напишем два алгоритма масштабирования изображения: методом ближайшего соседа и билинейной интерполяции.
В конце курса есть дополнительный бонусный урок об использовании делегатов на практических примерах.
В этом курсе мы напишем алгоритмы различных графических фильтров: градации серого, изменение яркости и контрастности, градационная коррекция и гамма-коррекция. Каждый алгоритм пишется с нуля и сразу тестируется в программе.
Далее мы напишем два алгоритма масштабирования изображения: методом ближайшего соседа и билинейной интерполяции.
В этом курсе мы напишем алгоритмы различных графических фильтров: градации серого, изменение яркости и контрастности, градационная коррекция и гамма-коррекция. Каждый алгоритм пишется с нуля и сразу тестируется в программе.
Далее мы напишем два алгоритма масштабирования изображения: методом ближайшего соседа и билинейной интерполяции.
В конце курса есть дополнительный бонусный урок об использовании делегатов на практических примерах.