Die Gaußsche Unschärfe ist eine Methode, mit der Bilder gleichmäßig verwischt werden. Dabei wird eine Matrix erstellt, die verwendet wird, indem sie mit den Pixeln eines Bildes gefaltet wird. In dieser Herausforderung besteht Ihre Aufgabe darin, die in der Gaußschen Unschärfe verwendete Matrix zu konstruieren. Sie nehmen eine Eingabe r, bei der es sich um den Radius der Unschärfe handelt, und eine Eingabe σ, bei der es sich um die Standardabweichung handelt, um eine Matrix mit den Abmessungen (2 r + 1 × 2 r + 1) zu erstellen . Jeder Wert in dieser Matrix hat einen ( x , y ) -Wert, der von seinem absoluten Abstand in jeder Richtung vom Zentrum abhängt und zur Berechnung von G ( x , y ) verwendet wird, wobei die Formel verwendet wirdG ist
Wenn beispielsweise r = 2 ist, möchten wir eine 5 × 5-Matrix erzeugen. Erstens ist die Matrix von ( x , y ) Werten
(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)
Dann sei σ = 1,5 und wende G auf jedes ( x , y ) an.
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
Normalerweise wird diese Matrix bei Bildunschärfe normalisiert, indem die Summe aller Werte in dieser Matrix genommen und durch diese dividiert wird. Für diese Herausforderung ist dies nicht erforderlich, und die von der Formel berechneten Rohwerte sind die Ausgabe, die ausgegeben werden soll.
Regeln
- Das ist Code-Golf, also gewinnt der kürzeste Code.
- Die Eingabe r ist eine nichtnegative ganze Zahl und σ ist eine positive reelle Zahl.
- Die Ausgabe muss eine Matrix darstellen. Es kann als 2D-Array, als String für ein 2D-Array oder ähnliches formatiert werden.
- Gleitkomma-Ungenauigkeiten werden Ihnen nicht angerechnet.
Testfälle
(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