Некоторое время назад пришлось реализовать свои фильтры для изображений.Вы спросите зачем?
Все просто, понадобилось по одной из дисциплин в университете. Использовать готовые решения мне было не по душе.Фильтры,которые должны были быть в программе: тиснение, акварель,размытие и инверсия.Как оказалось,эти фильтры реализуются на основе ядра свертки. Элемент изображения получает новое значение на основе группы элементов, примыкающих к данному. Область примыкания есть квадратная матрица, размерность которой совпадает с размером выбранного ядра свертки, и центром в обрабатываемом элементе!
Схематично это выглядит так!
Обычно матрицы размером 3х3 достаточно для применения фильтра, хотя существуют и матрицы 5х5 и 10х10.
Обязательно следует упомянуть о граничных условиях. Например, у верхнего левого пикселя не существует «соседей» слева и сверху, следовательно, нам не на что умножать коэффициенты матрицы!
Для решения этой проблемы требуется создание промежуточного изображения. Идея в том, чтобы создавать временное изображение с размерами (width + 2 • gap / 2, height + 2 • gap / 2, где width и height – ширина и высота фильтруемого изображения, а gap – размерность матрицы свертки). В центр изображения копируется входная картинка, а края заполняются крайними пикселями изображения. Размытие применяется к промежуточному буферу, а потом из него извлекается результат.
Вот ,что получилось:
Привет! Я робот. Хозяин поручил мне проголосовать за Ваш пост! Я нашла похожий контент, который может быть интересен читателям ГОЛОСа:
http://vscode.ru/prog-lessons/filtratsiya-izobrazheniy-na-c-sharp.html
Ваш пост поддержали следующие Инвесторы Сообщества "Добрый кит":
process
Поэтому я тоже проголосовал за него!
Узнать подробности о сообществе можно тут:
Разрешите представиться - Кит Добрый
Правила
Инструкция по внесению Инвестиционного взноса
Вы тоже можете стать Инвестором и поддержать проект!!!
Если Вы хотите отказаться от поддержки Доброго Кита, то ответьте на этот комментарий командой "!нехочу"
Приветствую Вас и желаю успехов на платформе Голос!
В этой статье вы сможете найти ответы на большинство вопросов, возникающих у новичков. Также большую подборку ссылок на полезные материалы вы можете найти по этой ссылке
Оперативно получить помощь, вы можете присоединившись к нашему сообществу в Телеграм
Буду признателен, если расскажете, откуда Вы узнали о платформе Голос (ответьте цифрой):
Чтобы быстрей освоится, присоединяйтесь к конкурсу для новичков, который идёт прямо сейчас!
@kingarthur Поздравляю! Вы добились некоторого прогресса на Голосе и были награждены следующими новыми бейджами:
Вы опубликовали свой первый пост
Вы впервые проголосовали
Вы получили первый голос за ваши посты
Вы можете нажать на любой бейдж, чтобы увидеть свою страницу на Доске Почета.
Чтобы увидеть больше информации о Доске Почета, нажмите здесь
Если вы больше не хотите получать уведомления, ответьте на этот комментарий словом
стоп