Udemy
    •  
    •  
    •  
    •  
    •  
    •  
    •  
    •  
Turn what you know into an opportunity and reach millions around the world.
Learn More
Your cart is empty.
Keep shopping
Попиксельная обработка изображений на C#
Rating: 4.7 out of 5(8 ratings)
45 students

Попиксельная обработка изображений на C#

Наглядная демонстрация алгоритмов обработки графических файлов
Last updated 8/2018
Russian

What you'll learn

  • Смогут открывать графические файлы, попиксельно их обрабатывать и сохранять.
  • Напишут алгоритмы изменения яркости, контрастности, цветности.
  • Напишут алгоритмы изменения размера и билинейной интерполяции

Course content

1 section8 lectures3h 17m total length
  • 256 оттенков серого23:53

    На этом уроке мы по-пиксельно поработаем с картинками. Сделаем конвертацию картинки в чёрно-белый формат.

    Ссылка на рекомендуемую статью — внизу.

    Самостоятельное задание:

    1. Создать проект и настроить форму.

    2. Сделать загрузку картинки из файла.

    3. Написать алгоритм конвертации картинки.

    4. Приложить два скриншота программы: до и после обработки изображения.

  • Яркость и контрастность28:47

    На этом уроке мы доработаем программу обработки изображения, добавим алгоритм изменения яркости и контрастности у картинки.

    Ссылка на рекомендуемую статью — внизу.

    Самостоятельное задание:

    1. Добавить ползунок TrackBar на форму.

    2. Добавить комментарии к ползунку.

    3. Сделать динамическое описание при изменении ползунка.

    4. Написать алгоритм изменения яркости.

    5. Написать алгоритм изменения контрастности.

    6. Оптимизировать программу — ускорить обработку.

    7. * Добавить сохранение картинки в файл.

  • Градационная коррекция20:00

    На этом уроке мы напишем алгоритм для создания фильтра градационной коррекции тремя различными способами:

    синусоидальным, экспоненциальным и логарифмическим.

    Самостоятельное задание:

    1. Разобраться в алгоритме градационной коррекции.

    2. Разместить на форме комбобокс из 4 элементов.

    3. Создать алгоритм для нового фильтра.

    4. Создать три функции для каждого способа.

    5. Приложить скриншот рисунка ДО и ПОСЛЕ применения фильтра.

  • Гамма-коррекция12:46

    На этом уроке мы создадим ещё один фильтр — гамма-коррекции. В основе формулы лежит степенная функция, которую мы и будем применять.

    Самостоятельное задание:

    1. Разобраться в алгоритме гамма-коррекции.

    2. Разместить на форме ползунок.

    3. Создать алгоритм для нового фильтра.

    4. Приложить скриншот рисунка ДО и ПОСЛЕ применения фильтра.

  • Изменение размера9:57

    На этом уроке мы подготовим форму для создания программы, которая будет менять размер изображения.

    Рекомендуемый материал можно прочитать, перейдя по ссылке внизу:

    Самостоятельное задание:

    1. Почитать рекомендуемую статью.

    2. Найти иконку для новой программы.

    3. Скопировать и подготовить прошлый проект.

    4. Подготовить картинки для эксперимента.

  • Метод ближайшего соседа17:54

    На этом уроке мы реализуем алгоритм ближайшего соседа для изменения размера изображения.

    Рекомендуемый материал - статья на "хабре" о масштабировании изображений (ссылка — внизу).

    Самостоятельное задание:

    1. Разместить Label и TrackBar на форме.

    2. Сделать изменение надписи при скроллинге.

    3. Убрать лишнее из программы.

    4. Написать алгоритм формирования оранжевого прямоугольника.

    5. Сделать вычисление координат ближайшего пикселя.

    6. Дописать алгоритм и протестировать программу.

  • Билинейная интерполяция36:24

    На этом уроке мы рассмотрим понятие интерполяции. Разберём алгоритм билинейной интерполяции для изображения. Создадим алгоритм в нашей программе и протестируем его работу на разных картинках.

    Рекомендуемые страницы с информацией о билинейной интерполяции можно найти, перейдя по ссылкам внизу.

    Самостоятельное задание:

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

    Изучить рекомендованные статьи.

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

    Разместить на форме ComboBox и добавить два пункта.

    Написать алгоритм для красного канала.

    Воспользоваться рефакторингом — вынести код в отдельный метод.

    Создать картинку 2x2 из разноцветных квадратиков.

    Протестировать работу алгоритма при 5000% увеличении картинки 2x2.

    Сравнить результаты различных методов изменения размера.

  • Бонус. Делегаты на кубиках47:36

    На этом уроке подробно показываю и объясняю, что такое делегаты, зачем они нужны и как их использовать.

    Самостоятельное задание:

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

    2. Импортировать картинки с кубиками в проект.

    3. Создать класс Dice.

    4. Создать и реализовать три функции для отображения кубиков.

    5. Описать делегат.

    6. Добавить делегат в класс Dice — в описание и в конструктор.

    7. Передать делегат при создании экземпляра класса.

    8. Протестировать работу программы во всех вариантах.

    9. Протестировать "суммирование" и "вычитание" делегатов.

Requirements

  • Базовые знания C#, Windows Forms

Description

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

Далее мы напишем два алгоритма масштабирования изображения: методом ближайшего соседа и билинейной интерполяции.

В конце курса есть дополнительный бонусный урок об использовании делегатов на практических примерах.

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

Далее мы напишем два алгоритма масштабирования изображения: методом ближайшего соседа и билинейной интерполяции.

В конце курса есть дополнительный бонусный урок об использовании делегатов на практических примерах.

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

Далее мы напишем два алгоритма масштабирования изображения: методом ближайшего соседа и билинейной интерполяции.

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

Далее мы напишем два алгоритма масштабирования изображения: методом ближайшего соседа и билинейной интерполяции.

В конце курса есть дополнительный бонусный урок об использовании делегатов на практических примерах.

Who this course is for:

  • Студентам, как лабораторная работа.
  • Инженерам, как заготовка программы редактирования изображений