Beste,
Bij websites waar je accounts aan kan maken zie je vaak dat er daarbij een plaatje getoond wordt met 'random' tekst/cijfers en of je die over wil tikken in het textfield eronder. Nu wil ik ook zo'n ding maken en dat is mij al aardig gelukt. Het probleem zit hem in het eventuele blurren van een gegenereerd plaatje.
Het blurren lukt, ik heb een implementatie van de welbekende gaussian blur gemaakt. Waar ik geen wiskundig algoritme voor kan verzinnen en moeilijk te vinden is op google is de radius van de blur. Ik gebruik hier nu matrixen voor van breedte:hoogte = oneven:oneven, maar wel gelijk aan elkaar. Voorbeelden van twee matrixen (voorgedefinieerd in de PHP code) staan hieronder.
In plaats van 2 voorgedefinieerde matrixen wil ik graag dat ik de radius kan definieren en dat er een matrix uitkomt. Mijn vraag aan de community: Hoe doe ik dit?
De 9x9 matrix die ik op google heb kunnen vinden met daaronder een verzonnen matrix:
Bij websites waar je accounts aan kan maken zie je vaak dat er daarbij een plaatje getoond wordt met 'random' tekst/cijfers en of je die over wil tikken in het textfield eronder. Nu wil ik ook zo'n ding maken en dat is mij al aardig gelukt. Het probleem zit hem in het eventuele blurren van een gegenereerd plaatje.
Het blurren lukt, ik heb een implementatie van de welbekende gaussian blur gemaakt. Waar ik geen wiskundig algoritme voor kan verzinnen en moeilijk te vinden is op google is de radius van de blur. Ik gebruik hier nu matrixen voor van breedte:hoogte = oneven:oneven, maar wel gelijk aan elkaar. Voorbeelden van twee matrixen (voorgedefinieerd in de PHP code) staan hieronder.
In plaats van 2 voorgedefinieerde matrixen wil ik graag dat ik de radius kan definieren en dat er een matrix uitkomt. Mijn vraag aan de community: Hoe doe ik dit?
De 9x9 matrix die ik op google heb kunnen vinden met daaronder een verzonnen matrix:
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
| $res = array();
if($x == 9)
{
$res[] = array(0, 0, 1, 1, 1, 1, 1, 0, 0);
$res[] = array(0, 1, 2, 3, 3, 3, 2, 1, 0);
$res[] = array(1, 2, 3, 6, 7, 6, 3, 2, 1);
$res[] = array(1, 3, 6, 9, 11, 9, 6, 3, 1);
$res[] = array(1, 3, 7, 11, 12, 11, 7, 3, 1);
$res[] = array(1, 3, 6, 9, 11, 9, 6, 3, 1);
$res[] = array(1, 2, 3, 6, 7, 6, 3, 2, 1);
$res[] = array(0, 1, 2, 3, 3, 3, 2, 1, 0);
$res[] = array(0, 0, 1, 1, 1, 1, 1, 0, 0);
}
else
{
$res[] = array(1, 1, 1);
$res[] = array(1, 2, 1);
$res[] = array(1, 1, 1);
} |
My opinions may have changed but not the fact that I am right ― Ashleigh Brilliant
