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.
you seem to be interested in image enhancement techniques such as used on Instagram to add "cool effects". these algorithms tend to be somewhat more advanced and proprietary. however for basic image manipulation which is the underlying basis for these algorithms, there are many places to start. here are a few:

* [Image processing basics](http://www.imageprocessingbasics.com/) tutorials with java applets.
* [Image processing basics tutorial](http://www.imageprocessingplace.com/root_files_V3/tutorials.htm) Zip files of many tutorials. the overall site has a comprehensive list of resources eg books.
* [CMSC 426 Image processing U Maryland/Jacobs 2003](http://www.cs.umd.edu/~djacobs/CMSC426/CMSC426.htm) there are many university classes some with very good online notes/resources
* [Image processing in MATLAB](http://robotix.in/tutorials/category/imageprocessing/ip_matlab) Matlab is a leading mathematical package for image processing and math packages can simplify many algorithms. another leading package for image manipulation is Mathematica.
* [Coursera](https://www.coursera.org/course/images), now a leading online course site, has a course on Image and video processing by Sapiro/Duke university.
* another option for the hacker types is taking an open source image processing program and reverse-engineering the code, ie learning the algorithms by looking at code and/or tweaking it. [Gimp](http://en.wikipedia.org/wiki/GIMP) is a very full featured open source image processing program with many advanced effects, some as "plugins".

note most image techniques have many fundamental connections to [linear/matrix/vector algebra](http://en.wikipedia.org/wiki/Matrix_%28mathematics%29) and thats an important mathematical area to study for basic background.