【问题标题】:OpenCV image show int OpenMP parallel forOpenCV 图像显示 int OpenMP 并行
【发布时间】:2014-01-20 12:45:59
【问题描述】:

您好,我正在尝试在循环的每一步都显示图像,但不起作用。这是我创建的,有什么想法吗?

 #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;
}

【问题讨论】:

  • j 在哪里定义?并描述它是如何工作的。
  • j 定义,在一个循环之前int j(0);

标签: c++ multithreading opencv qt-creator openmp


【解决方案1】:

我相信您的显示只会在“waitKey()”时刷新。例如,使用“waitKey(1)”等待 1 毫秒的按键。在这段时间内,您的 GUI 可以更新。我也相信您会遇到内存问题和线程问题,因为在显示您的数据时可能会丢失并被下一次迭代覆盖。同时写入显示器是不好的做法,并且会出现段错误。 查看 GTK 线程(gdk_leave_thread 等)或 QT 线程(发射信号等)。

【讨论】:

    猜你喜欢
    • 2015-09-18
    • 2021-03-20
    • 1970-01-01
    • 2013-10-17
    • 2013-10-31
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-03-30
    相关资源
    最近更新 更多