Размытие по Гауссу - это метод, используемый для плавного размытия изображений. Это включает в себя создание матрицы, которая будет использоваться путем свертки ее с пикселями изображения. В этой задаче ваша задача - построить матрицу, используемую в размытии по Гауссу. Вы возьмете вход r, который будет радиусом размытия, и вход σ, который будет стандартным отклонением, чтобы построить матрицу с размерами (2 r + 1 × 2 r + 1). Каждое значение в этой матрице будет иметь значение ( x , y ), которое зависит от его абсолютного расстояния в каждом направлении от центра и будет использоваться для вычисления G ( x , y ), где формулаG это
Например, если r = 2, мы хотим сгенерировать матрицу 5 x 5. Во-первых, матрица значений ( x , y )
(2, 2) (1, 2) (0, 2) (1, 2) (2, 2)
(2, 1) (1, 1) (0, 1) (1, 1) (2, 1)
(2, 0) (1, 0) (0, 0) (1, 0) (2, 0)
(2, 1) (1, 1) (0, 1) (1, 1) (2, 1)
(2, 2) (1, 2) (0, 2) (1, 2) (2, 2)
Тогда пусть σ = 1,5 и применим G к каждому ( x , y )
0.0119552 0.0232856 0.0290802 0.0232856 0.0119552
0.0232856 0.0453542 0.0566406 0.0453542 0.0232856
0.0290802 0.0566406 0.0707355 0.0566406 0.0290802
0.0232856 0.0453542 0.0566406 0.0453542 0.0232856
0.0119552 0.0232856 0.0290802 0.0232856 0.0119552
Обычно при размытии изображения эта матрица нормализуется путем взятия суммы всех значений в этой матрице и деления на нее. Для этой задачи это не нужно, и необработанные значения, рассчитанные по формуле, - это то, каким должен быть результат.
правила
- Это код-гольф, поэтому выигрывает самый короткий код.
- Входное значение r будет неотрицательным целым числом, а σ будет положительным действительным числом.
- Выходные данные должны представлять матрицу. Он может быть отформатирован как 2d массив, строка, представляющая 2d массив, или что-то подобное.
- Неточности с плавающей точкой не будут засчитаны против вас.
Тестовые случаи
(r, σ) = (0, 0.25)
2.54648
(1, 7)
0.00318244 0.00321509 0.00318244
0.00321509 0.00324806 0.00321509
0.00318244 0.00321509 0.00318244
(3, 2.5)
0.00603332 0.00900065 0.0114421 0.012395 0.0114421 0.00900065 0.00603332
0.00900065 0.0134274 0.0170696 0.0184912 0.0170696 0.0134274 0.00900065
0.0114421 0.0170696 0.0216997 0.023507 0.0216997 0.0170696 0.0114421
0.012395 0.0184912 0.023507 0.0254648 0.023507 0.0184912 0.012395
0.0114421 0.0170696 0.0216997 0.023507 0.0216997 0.0170696 0.0114421
0.00900065 0.0134274 0.0170696 0.0184912 0.0170696 0.0134274 0.00900065
0.00603332 0.00900065 0.0114421 0.012395 0.0114421 0.00900065 0.00603332
(4, 3.33)
0.00339074 0.00464913 0.00582484 0.00666854 0.00697611 0.00666854 0.00582484 0.00464913 0.00339074
0.00464913 0.00637454 0.00798657 0.0091434 0.00956511 0.0091434 0.00798657 0.00637454 0.00464913
0.00582484 0.00798657 0.0100063 0.0114556 0.011984 0.0114556 0.0100063 0.00798657 0.00582484
0.00666854 0.0091434 0.0114556 0.013115 0.0137198 0.013115 0.0114556 0.0091434 0.00666854
0.00697611 0.00956511 0.011984 0.0137198 0.0143526 0.0137198 0.011984 0.00956511 0.00697611
0.00666854 0.0091434 0.0114556 0.013115 0.0137198 0.013115 0.0114556 0.0091434 0.00666854
0.00582484 0.00798657 0.0100063 0.0114556 0.011984 0.0114556 0.0100063 0.00798657 0.00582484
0.00464913 0.00637454 0.00798657 0.0091434 0.00956511 0.0091434 0.00798657 0.00637454 0.00464913
0.00339074 0.00464913 0.00582484 0.00666854 0.00697611 0.00666854 0.00582484 0.00464913 0.00339074