The simplest way is one line:
im[im>250]-=10
Demonstration
Start with this 8x8 gradient image:

Here it is enlarged:

Then use IPython like this:
# Load image as L (greyscale)
im = np.array(Image.open('image.png').convert('L'))
# View contents
im
Out[16]:
array([[255, 255, 255, 255, 255, 255, 255, 255],
[219, 219, 219, 219, 219, 219, 219, 219],
[182, 182, 182, 182, 182, 182, 182, 182],
[146, 146, 146, 146, 146, 146, 146, 146],
[109, 109, 109, 109, 109, 109, 109, 109],
[ 73, 73, 73, 73, 73, 73, 73, 73],
[ 36, 36, 36, 36, 36, 36, 36, 36],
[ 0, 0, 0, 0, 0, 0, 0, 0]], dtype=uint8)
# Do required processing
im[im>250]-=10
# Review contents
In [18]: im
Out[18]:
array([[245, 245, 245, 245, 245, 245, 245, 245],
[219, 219, 219, 219, 219, 219, 219, 219],
[182, 182, 182, 182, 182, 182, 182, 182],
[146, 146, 146, 146, 146, 146, 146, 146],
[109, 109, 109, 109, 109, 109, 109, 109],
[ 73, 73, 73, 73, 73, 73, 73, 73],
[ 36, 36, 36, 36, 36, 36, 36, 36],
[ 0, 0, 0, 0, 0, 0, 0, 0]], dtype=uint8)
Let's try decreasing even more pixels, just for fun:
In [19]: im[im>100]-=10
In [20]: im
Out[20]:
array([[235, 235, 235, 235, 235, 235, 235, 235],
[209, 209, 209, 209, 209, 209, 209, 209],
[172, 172, 172, 172, 172, 172, 172, 172],
[136, 136, 136, 136, 136, 136, 136, 136],
[ 99, 99, 99, 99, 99, 99, 99, 99],
[ 73, 73, 73, 73, 73, 73, 73, 73],
[ 36, 36, 36, 36, 36, 36, 36, 36],
[ 0, 0, 0, 0, 0, 0, 0, 0]], dtype=uint8)