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: 
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.
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/)