At a pixel level, you want to blur the lighter pixels horizontally, without blurring the picture as a whole too much. I took two times two similar steps in Adobe Photoshop to create the picture below.
The first two steps:
- I selected the white colors using the "Select color range" tool, selecting an almost white pixel and using a large range to select similar colors.
- Next, I used the custom filter (Menu: Filter, Other, Custom Filter) with all zero's except on the center row, I used the weights: 1, 2, 3, 2, 1. And a scale factor of 9 (the sum of the weights).
The effect of this is that the most white vertical stripes are averaged (blurred). Every pixel becomes a weighted average of its neighbors on the left and right.
In the second iteration, I did the same for the picture as a whole:
- Deselect the previous selection (ctrl-d)
- Repeat the same filter as before on the picture as a whole.
The result is this: