Question: I am a student of computer science with interest in image processing. I have learned how to apply a few effects to images like making them grayscale, sketching them out of lines, etc. 

I would like to learn more about the algorithmic techniques behind creative manipulation of images like making them sepia-tone, smudging them, etc. 

**Can someone please point me in the right direction?** 
How do I learn the fundamentals of these algorithms?

Answer: 
There are books on digital image processing which you can look into. Many common image manipulation techniques, such as smudging (usually known as blurring) are accomplished by [image filtering](http://lodev.org/cgtutor/filtering.html), which is a process of applying a two-dimensional filter to an image: the value of each pixel in the new image is a linear combination of its original value and the original values of its neighbors. Sepia tone is an example of color manipulation: assuming the image is stored as RGB, this amounts to applying some carefully constructed mapping on the R,G,B values of each pixel. The mapping can be represented as a table $\{0,\ldots,255\}^3 \to \{0,\ldots,255\}^3$, or alternatively some formula can be applied instead.
If you already know the name of some specific image processing technique,
Wikipedia has pretty good explanations --
such as ["closing"](http://en.wikipedia.org/wiki/closing_%28morphology%29) in [morphological image processing](http://en.wikipedia.org/wiki/morphological_image_processing).

The [computer vision wiki](http://computervision.wikia.com/) is a good place to read and write about computer vision stuff that doesn't fit into an encyclopedia format -- HOWTOs, example code, etc.

There exist many "type this, click there" tutorials on how to get a specific effect with a specific piece of software -- [GIMP Tutorials](http://en.wikibooks.org/wiki/GIMP/External_Tutorials), [Kdenlive/Video effects](http://en.wikibooks.org/wiki/Kdenlive/Video_effects), [MATLAB Image Processing Toolbox](http://en.wikibooks.org/wiki/MATLAB_Programming/Image_Processing_Toolbox), etc.

Many universities have classes in image processing or computer graphics or both;
a few have an entire department dedicated to image processing.
Some of them even have a web site that has lots of information about image processing.
A few even record class lectures and post them online.

* [Virginia Image and Video Analysis laboratory](http://viva.ee.virginia.edu/)
* [Berkeley Computer Vision Group](http://www.eecs.berkeley.edu/Research/Projects/CS/vision/)
* [USC Computer Vision Laboratory](http://iris.usc.edu/USC-Computer-Vision.html)
* [Coursera Computer Vision in English](https://www.coursera.org/course/computervision)
* [Coursera Computer Vision in German](https://www.coursera.org/course/compvision)
* [MIT Computer Vision Group](http://groups.csail.mit.edu/vision/)
* [Cornell Graphics and Vision Group](http://rgb.cs.cornell.edu/)