Размытие через функцию насыщения и матрицу коэффициентов

91
05 марта 2022, 03:50

Всем Привет!

сделал программу которая импортирует картинку и переводит её в картинку-негатив. Пытаюсь её переделать (именно нужно дополнить/переделать) в программу которая размывает картинку через через функцию насыщения и матрицу коэффициентов?

Почитал вот эту статью https://habr.com/ru/post/142818/, что то прояснилось но вопросы остались...

Можете пожалуйста помочь/подсказать в каком направлении делать?

       const int maxRgb = 255;
        Bitmap image = new Bitmap("..\\..\\image.jpg");
        for (int y = 0; y < image.Height; ++y)
        {
            for (int x = 0; x < image.Width; ++x)
            {
                Color pixel = image.GetPixel(x, y);
                Color newColor = Color.FromArgb(maxRgb - pixel.R, maxRgb - pixel.G, maxRgb - pixel.B);
                image.SetPixel(x, y, newColor);
            }
        }
        image.Save("out.jpg", System.Drawing.Imaging.ImageFormat.Jpeg);
Answer 1

В простейшем случае реализации добавьте ещё два вложенных цикла - получите пикселы окрестности (например, 3x3 или 5x5) и сложите их значения поканально с нужными коэффициентами. Для начала - с единичными, разделив на количество пикселов - это так называемый box-фильтр. Потом используйте коэффициенты фильтра Гаусса.

Увидев, что всё работает, но медленно (для больших апертур (размеров) ядра фильтра), приступите к применению фильтрации через свёртку, или используйте одну из многочисленных библиотек обработки изображений.

READ ALSO
Как использовать X509Certificate2 от пользователя?

Как использовать X509Certificate2 от пользователя?

Доброе время сутокПодскажите, написал небольшую программу для установки сертификатов УЦ в корневые и промежуточные центры, программа вылетает...

93
Помогите сделать подобный зум

Помогите сделать подобный зум

Подскажите, как сделать подобное на js? Есть картинка по наведению на которую появляется окно в увеличенным изображениемЭдакий эффект лупы

64
оптимизация загрузки виджета vk like

оптимизация загрузки виджета vk like

Использую в верстке виджет вконтакте, проверил страницу на google page speed результат снизился значительно

78
Сделать правильную разметку

Сделать правильную разметку

Я плохо умею пользоваться cssПожалуйста, помогите сделать разметку, как на рисунке

94