title: python image processing library has filters(distortion, lights) used for generate dataset
body: <p>
  I'm try to generate a <strong>dataset used for object detection</strong>(about <strong>1e6</strong> pictures). I have images of objects, and backgrounds. But I think adding some filters on objects &amp; objects+background is good for model training. After investigation, I found I have to use those following filters: </p>
  
  <ol>
  <li><p>distortion, including shear with curve, distortion with sphere </p></li>
  <li><p>cast lights on the img. </p></li>
  <li><p>other simple filter like rotate, resize, blur, noisy, color gradation... </p></li>
  </ol>
  
  
  
  <p>
  I wonder if there is any library, which is simple to use(input args + [w, h, 4], return [w, h, 4]), natural, fast, and most of all, it can <strong>add lights</strong> and lens light on img and <strong>distort</strong> it.</p>
  
  <p>Or any library that can work with python during mxnet training.</p>
  
  <p><a href="https://i.stack.imgur.com/krvZX.png" rel="nofollow noreferrer">ORG IMG1</a></p>
  
  <p><a href="https://i.stack.imgur.com/MdpPt.png" rel="nofollow noreferrer">Distortion1</a></p>
  
  <p><a href="https://i.stack.imgur.com/HVv5N.png" rel="nofollow noreferrer">ORG2</a></p>
  
  <p><a href="https://i.stack.imgur.com/FP2H8.png" rel="nofollow noreferrer">Distortion2</a></p>
  
  <p><a href="https://i.stack.imgur.com/JWHlt.png" rel="nofollow noreferrer">Lights</a></p>
  
  <p>
  After observing Photoshop, I have tried to make my own filters using sphere, ellipse and para-curve formulas by PIL, opencv and scimage, However, those filters are not natural and not as good as Photoshop does.</p>
  
  <p>I also tried gimp-python, but I want to use it in a pure python program and I want to process the pictures during training. Maybe speed is really important.</p>