You want something like the GPUImageColorInvertFilter:
If that doesn't produce the exact effect you want, you could create a custom filter based on it and have your fragment shader first convert to luminance, and then apply a greenish tint based on the inverse of the pixel's luminance. That would provide the exact effect you show above.
I'll leave the coding of such a shader as an exercise for the reader.