Применение Гауссового размытия к матрице
Этот проект реализует применение Гауссового размытия к заданной матрице. Программа расширяет исходную матрицу, чтобы учитывать граничные значения, и затем применяет фильтр размытия.
Структура проекта
Проект состоит из следующих основных функций:
- create_extended_matrix(matrix): Функция для создания расширенной матрицы, добавляя строки и столбцы по краям для удобства вычислений.
- apply_gaussian_blur(matrix, row, col): Функция для применения Гауссового размытия к элементу матрицы, учитывая его соседей.
- move_and_blur(matrix): Функция для выполнения размытия по всей матрице.
Исходная матрица:
[[ 10 10 50 50 50 50 50 50 50 50]
[ 10 10 50 50 50 50 50 50 50 50]
[ 10 10 50 50 50 50 50 50 50 50]
[ 10 10 50 50 50 50 50 50 50 50]
[ 10 10 50 50 50 50 50 50 50 50]
[ 10 10 50 50 50 50 50 50 50 50]
[ 10 10 100 100 100 50 50 50 50 50]
[ 10 10 100 100 100 50 50 50 50 50]
[ 10 10 100 100 100 50 50 50 50 50]
[ 10 10 100 100 100 50 50 50 50 50]]\
Расширенная матрица:
[[ 10 10 10 50 50 50 50 50 50 50 50 50]
[ 10 10 10 50 50 50 50 50 50 50 50 50]
[ 10 10 10 50 50 50 50 50 50 50 50 50]
[ 10 10 10 50 50 50 50 50 50 50 50 50]
[ 10 10 10 50 50 50 50 50 50 50 50 50]
[ 10 10 10 50 50 50 50 50 50 50 50 50]
[ 10 10 10 50 50 50 50 50 50 50 50 50]
[ 10 10 10 100 100 100 50 50 50 50 50 50]
[ 10 10 10 100 100 100 50 50 50 50 50 50]
[ 10 10 10 100 100 100 50 50 50 50 50 50]
[ 10 10 10 100 100 100 50 50 50 50 50 50]
[ 10 10 10 100 100 100 50 50 50 50 50 50]]\
Результирующая матрица после применения размытия:
[[ 10 20 40 50 50 50 50 50 50 50]
[ 10 20 40 50 50 50 50 50 50 50]
[ 10 20 40 50 50 50 50 50 50 50]
[ 10 20 40 50 50 50 50 50 50 50]
[ 10 20 40 50 50 50 50 50 50 50]
[ 10 24 48 62 58 54 50 50 50 50]
[ 10 28 69 87 79 58 50 50 50 50]
[ 10 32 77 100 87 62 50 50 50 50]
[ 10 32 77 100 87 62 50 50 50 50]
[ 10 32 77 100 87 62 50 50 50 50]]
Описание
Программа расширяет исходную матрицу, чтобы учитывать граничные значения, и затем применяет фильтр размытия