title: Speed up OpenCV
body: <p>I am using OpenCV 2.4 (C++) for line finding on grayscale images. This involves some basic image processing steps like blurring, threshold, Canny edge detector, gradient filter or Hough transformation. I have to apply the line finding algorithm on thousands of images.</p>
  
  <p>Is there a way to speed up the calculation considering the large number of images?</p>
  
  <p>Does one of the following provide help? Intel TBB, IPP or OpenCV GPU?
  I heard that OpenCV GPU can speed up calculations but data transfer is slowly. So using GPU might not be the right choice here?</p>
  
  <p>Thank You!</p>
  
  <p>EDIT:</p>
  
  <p>Is there any sense in using parallel_for from TBB to speed up image processing? If I use a for loop like this:</p>
  
  <pre><code>for(int i=0; i&lt;image_location.size();++i)
  {
  Mat img=imread(image_location[i]);
  blur(img...);
  threshold(img...);
  ...
  }
  </code></pre>
  
  <p>Can I improve performance by using parallel_for instead? Can anyone provide examples how to use parallel_for including some opencv operations?</p>