How to blur an image in memory?

Is there a way to blur an image in memory? What I’m doing is capturing the screen, and I’m trying to blur this image, in order to overlay it for a pause screen. The image is only going to be blurred once when pause is hit, not once per frame.

I’ve tried applying a gaussian blur algorithm but it’s very slow. Is there a better way to do this? For example, any libraries or addons I can use? If not, does anyone know of the best way to do this?

To answer my own question:

I got it working by using GetPixels to get all the pixels into a single array. I then turned that array into a 2D array based on the height and width of the input image.

I then processed this array, instead of the image. I found that using GetPixel every iteration had HUGE amounts of overhead, as it was grabbing the info from the GPU every single time. Grabbing the info once and storing it in a 2D GREATLY improved speed.

I then reversed the 2D array into a single dimension array, and used SetImage once, after the loop, to set the image contents. Works great, though going over 20 tends to crash the editor.