Create icy avatar images for the winter season
Python 2 - 326 339 358
Takes input from the user. File first, then n.
from PIL.Image import*;from random import*
a,N=input()
i=open(a)
d=list(i.getdata())
x,y=i.size
R=range(x*y)
m=lambda p,n,r:[p[i]for i in R if abs(n%x-i%x)+abs(n/y-i/y)&lt;=r]
k=d[:]
for p in R:t=map(lambda x:sum(x)/len(x),zip(*m(k,p,N)));d[p]=t[0],t[1],min(255,t[2]*3/2)
i.putdata([choice(m(d,p,N/2))for p in R])
i.save('t.png')

This could probably be golfed much more :P Thanks to @SP3000 for golf ideas!
Sample input:
(Windows)
&quot;C:/Silly/Optimizer/Trix/Are/For/Kids.png&quot;,7

Edit: Bug fixed where blue was being propagated (Martin with n=20 is no longer a river ;_; )
Martin with n=2:

Martin with n=10:

Martin with n=20: