title: Serverside image processing
body: <p>I am designing a web application that does server side image processing in real time. Processing tasks include applying different effects like grayscale, blur, oil paint, pencil sketch etc on images in various formats. I want to build it using java/servlets which I am already familiar with. I found 3 options,</p>
  
  <p>1) Use pure java imaging libraries like java.awt or <a href="http://www.jhlabs.com/ip/index.html" rel="nofollow noreferrer">http://www.jhlabs.com/ip/index.html</a>
  2) Use command line tools like Gimp/ImageMagick
  3) Use c,c++ image libraries that have java bindings.</p>
  
  <p>I don't know which of the above options is good keeping the performance in mind. It looks like option 2) and 3) are good performance wise, but I want to be sure before I rule out 1).  I have also heard gimp cannot be run using command line unless gtk or xwindows is already installed on the server. Will there be any such problems with 2) or 3) while running them server side?</p>
  
  <p>Also please suggest any good image processing libraries for this purpose.</p>