Your PC is an amazing peace of kit, it’s amazing because no other computing platform is as versatile and no other platform is so open for innovation. You can buy hardware for it from thousands of vendors, you can hook it up to just about any display or input device and you can make it do just about anything. While maybe no longer being the latest buzzword, the combination of screen, mouse and keyboard, is still the best way to be productive, get a headshot or to create the next software wonder. Whatever cool mobile app or console game you think is the hot stuff, it was conceived on a PC.
The Intel® Integrated Performance Primitives (Intel® IPP) library provides a wide variety of vectorized signal and image processing functions. Intel® Threading Building Blocks (Intel® TBB) adds simple but powerful abstractions for expressing parallelism in C++ programs. This article presents a starting point for using these tools together to combine the benefits of vectorization and threading to resize images.
There are so many examples of applications using pre-processing strategy that it is trivial. For example using a webcam we often find the device driver doing some software adjustments and corrections such as white balancing. Too often we find devices using software features. Other examples would be in a pipeline and User Interfaces. When it comes to UI we already learned to fill the list when the user clicks the drop-down, so only when the user really wants to use the list we will "pay" for the data.