2014-05-17 12 views

risposta

5

Disclaimer: Non ho esperienza nell'uso di OpenCV.

Non ho trovato alcun elenco sul sito ufficiale opencv.org. Tuttavia, il ChangeLog says:

acceso tutti i restanti cicli paralleli da TBB-solo TBB :: parallel_for() per cv universale :: parallel_for_() con molte possibili backend (MS concorrenza, GDC di Apple, OpenMP, Intel TBB ecc)

Ora, sappiamo cosa cercare e grep -IRl parallel_for_ applicato su opencv directory ci dà la seguente:

build/include/opencv2/core/core.hpp 
sources/apps/traincascade/boost.cpp 
sources/modules/calib3d/src/stereobm.cpp 
sources/modules/contrib/src/basicretinafilter.cpp 
sources/modules/contrib/src/magnoretinafilter.cpp 
sources/modules/contrib/src/parvoretinafilter.cpp 
sources/modules/contrib/src/retinacolor.cpp 
sources/modules/contrib/src/templatebuffer.hpp 
sources/modules/core/include/opencv2/core/core.hpp 
sources/modules/core/src/matrix.cpp 
sources/modules/core/src/parallel.cpp 
sources/modules/core/src/stat.cpp 
sources/modules/features2d/src/detectors.cpp 
sources/modules/gpu/src/calib3d.cpp 
sources/modules/highgui/test/test_ffmpeg.cpp 
sources/modules/imgproc/src/clahe.cpp 
sources/modules/imgproc/src/color.cpp 
sources/modules/imgproc/src/distransform.cpp 
sources/modules/imgproc/src/generalized_hough.cpp 
sources/modules/imgproc/src/histogram.cpp 
sources/modules/imgproc/src/imgwarp.cpp 
sources/modules/imgproc/src/morph.cpp 
sources/modules/imgproc/src/smooth.cpp 
sources/modules/imgproc/src/thresh.cpp 
sources/modules/ml/src/ann_mlp.cpp 
sources/modules/ml/src/gbt.cpp 
sources/modules/ml/src/knearest.cpp 
sources/modules/ml/src/nbayes.cpp 
sources/modules/ml/src/svm.cpp 
sources/modules/nonfree/src/surf.cpp 
sources/modules/objdetect/src/cascadedetect.cpp 
sources/modules/objdetect/src/haar.cpp 
sources/modules/objdetect/src/hog.cpp 
sources/modules/ocl/src/kmeans.cpp 
sources/modules/photo/src/denoising.cpp 
sources/modules/stitching/src/matchers.cpp 
sources/modules/superres/src/btv_l1.cpp 
sources/modules/video/src/bgfg_gaussmix2.cpp 
sources/modules/video/src/bgfg_gmg.cpp 
sources/modules/video/src/lkpyramid.cpp 
sources/modules/video/src/tvl1flow.cpp 

Qui, vediamo la lista dei moduli e parti WHI ch utilizzare il ciclo parallelo. Spero sia sufficiente rispondere alla domanda per TBB e OpenMP. Per maggiori dettagli, apri il file corrispondente e cerca parallel_for_ per scoprire in quali circostanze è applicato.

Quanto IPP, sembra è abbastanza ampiamente utilizzata dalla libreria di base, egrep -IRl '\bipp' pronunciato la seguente:

modules/calib3d/src/calibration.cpp 
modules/core/include/opencv2/core/core_c.h 
modules/core/include/opencv2/core/internal.hpp 
modules/core/src/arithm.cpp 
modules/core/src/dxt.cpp 
modules/core/src/mathfuncs.cpp 
modules/core/src/matmul.cpp 
modules/core/src/precomp.hpp 
modules/core/src/stat.cpp 
modules/core/src/system.cpp 
modules/imgproc/src/canny.cpp 
modules/imgproc/src/color.cpp 
modules/imgproc/src/deriv.cpp 
modules/imgproc/src/distransform.cpp 
modules/imgproc/src/filter.cpp 
modules/imgproc/src/imgwarp.cpp 
modules/imgproc/src/morph.cpp 
modules/imgproc/src/samplers.cpp 
modules/imgproc/src/smooth.cpp 
modules/imgproc/src/sumpixels.cpp 
modules/legacy/test/test_pyrsegmentation.cpp 
modules/objdetect/src/haar.cpp 
modules/objdetect/src/hog.cpp 
modules/ocl/src/haar.cpp