2013-05-02 139 views
0

目的:开发一种算法寻找圈子中给出图像如何在图像处理中有效地使用线程?

实现部分:VC++ 2010 +使用OpenCV库找到圆

输入:ROI(X,Y,宽度,高度),是IplImage *(Input_Image) 算法:所以在这里呼吁在给定的ROI

所以对于离OpenCV的圈子功能:

,如果我有像20圈,我将是具有20 ROI的

问题:所以每次算法作用序列基础

输入上 - > ROI功能 - >在给定的ROI查找Cirlce - >回圈参数 - >输出

TO DO:需要降低使用多线程处理时间

我可以使用两个线程来并行执行此操作吗???

+0

只使用线程概念不要OpenMP请 – Pixel 2013-05-02 09:44:16

回答

1

是的,你可以,如果你确保妥善处理退货。一种方法是使用OpenMP。

std::vector<ResultType> result; 
#pragma omp parallel for shared(image_data) //using openMP 
for(int i = 0; i < 20; ++i) { 
    result.push_back(CircleRoutine(image_data, ROI[i])); 
} 

这应该给你一个想法,你可以做什么来平行的任务。

注意:如果您的最终结果取决于查找圆的顺序,则必须按顺序执行。如果没关系,那将是完美的例行程序。注2:我不知道这个实现,但是OpenCV可能已经找到了这个圈子,结果没有通过线程加速。

相关问题