Sorry, I should have been more specific.
Using a normal image and converting it to greyscale (via matricies/loops/whatever) is too slow for realtime, maybe it was just the way I was doing it...
It uses huge amounts of CPU when even crappy free webcam apps can convert the webcam input to greyscale (or perform many other effects) pretty easily without being too taxing on the CPU.
Also, what I have no clue about is how can I actually access the video output information of a SFML window?