How to Create Image Editing Filters I am trying to make filters for days but now I just want to know the experience of others rather than go on to wrong way and finally decided to put my query over here with full detail rather then short question of every day . What is the best way of making image filters like Instagram or aviary or many other photo editing application , Can we make it using OpenCV or we need to make them by using operation on bitmaps like simple color operations of giving weights to them.

How they made the filters?
What is the logic behind it?
How we can perform the same operation?
Whats the best way of making them?

I read Quora - How Does Instagram Develop Their Filters?, but it didn't give the best way to operate with the tool for android . I don't even know that this question is right for this forum or not , but I just want to consult the algorithms , the best way to do it for android and simple the way from which I need to start ? I saw simple OpenCV - How to Implement Sepia Filter operation but its not easy to find that type of values for other filters like which we want to make like other colored shades in which only little effect can change the whole look of the image and the last thing is it the helpful if we make filters in Photoshop and then follow the steps in our program.
Thanks
The word "Filter" in Image Processing word relates to "Neighborhood" based operation on pixels.

Filters in the context of Instagram and other Image Processing applications are combination of point operations (Works on single pixel, adjusting it values independent of its adjacent pixels) and filters which alters the pixel value according to its adjacent pixels.

If I were you I'd start with learning about Point Operations such as Brightness, Contrast, Hue, Saturation, etc...
Once you build some functions which alters those move on to filters.

Then you could combine them into "Effect".

For instance, Vignetting is easy to do:


Create a rounded mask. White out side a circle and black around it.
Smooth the mask using a Gaussian Blur.
Adjust the brightness of pixel according to the values of this mask.