Blunt the Images

Python, 354 313 bytes

Not the best, but hey...

Using Space for 1st level indentation, Tab for 2nd level, then Tab+Space and Tab+Tab

import Image as I
A=I.open(raw_input())
w,h=A.size
B=I.new('RGB',(w,h))
s=[-1,1,0]
r=range
for x in r(w):
 for y in r(h):
    P=[]
    for d in s:
     for e in s:
        try:P+=[A.load()[x+e,y+d]]
        except:0
    P.pop()
    B.load()[x,y]=tuple(min(int(.5+(1.5*sum([v*v for v in t])/len(P))**.5),255)for t in zip(*P))
B.save("b.jpg")
  • Edit1: replacing math.sqrt() with ()**.5 thanks to beta decay
  • Edit2: using min for clamping (saving a lot!) and 0 for pass thanks to Loovjo
  • Edit3: +=[] for .append() saving 5 bytes
  • Edit4: using the variable s for the stencil