2014-01-20 93 views
-2

並行我試圖在我的週期的每一步顯示圖像,但不起作用。這是我創造的,有什麼想法?OpenCV圖像顯示int OpenMP並行

#pragma omp parallel for 
for(int i = 1;i < blur_range; i += 2) 
{ 


    int percent; 
    float ratio = (j)/(float)blur_range; 
    percent = ratio*100; 
    cout << percent <<"%\n"; 
    // printf("%3d%%", percent); 
    blur(m_img,m_img,Size(i,i)); 



     #pragma omp sections 
     { 
      #pragma omp critical 
      { 
      dst = Mat::zeros(500,500 , 0); 
      imshow("Loading..",dst); 
      } 
     } 
    j+=2; 
} 
+0

定義了哪個'j'?並描述它是如何工作的。在一個cyrcle'int j(0);'之前定義了一個定義爲 – herohuyongtao

+0

的j – htmlbrewery

回答

0

我相信你的顯示只刷新一個「waitKey()」。例如,使用「waitKey(1)」等待1毫秒的按鍵。在那段時間內,你的GUI可以被刷新。我也相信你會遇到內存問題和線程問題,因爲一旦顯示你的數據可能會丟失並被下一次迭代覆蓋。同時寫入顯示器是不好的做法,會出現段錯誤。 研究GTK treading(gdk_leave_thread等)或QT線程(發射信號等)。