Некоторое время назад пришлось реализовать свои фильтры для изображений.Вы спросите зачем?
Все просто, понадобилось по одной из дисциплин в университете. Использовать готовые решения мне было не по душе.Фильтры,которые должны были быть в программе: тиснение, акварель,размытие и инверсия.Как оказалось,эти фильтры реализуются на основе ядра свертки. Элемент изображения получает новое значение на основе группы элементов, примыкающих к данному. Область примыкания есть квадратная матрица, размерность которой совпадает с размером выбранного ядра свертки, и центром в обрабатываемом элементе!
Схематично это выглядит так!
Обычно матрицы размером 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 Поздравляю! Вы добились некоторого прогресса на Голосе и были награждены следующими новыми бейджами:
Вы можете нажать на любой бейдж, чтобы увидеть свою страницу на Доске Почета.
Чтобы увидеть больше информации о Доске Почета, нажмите здесь
Если вы больше не хотите получать уведомления, ответьте на этот комментарий словом
стоп