convertTo() and pixel-wise transformations with TBB

asked 2015-11-07 03:27:18 -0600

octopode gravatar image


I'm new with opencv. I use it with Qt 5.5, Qt Creator 3.2, on a macbook pro with 4 cores. I compiled openCV with cmake with TBB enabled.

I was hoping to find a list of what are the pixel-wise transformation opencv functions that have an implicit use of TBB. By "implicit", I mean i would not require to change anything in the code. "Explicit" would mean using things like "tbb_thread" explicitly like here by splitting myself explicitly the image in pieces that each core would be fed on.

For example, I tried using convertTo() with a non-TBB openCV, and compared with TBB-enabled openCV (so, two different configuration and compilation with CMAKE) and in both cases just a single core is used, although getNumThread() gives "512". (although clearly the concept of "cores" and "threads" confuses me). For pixel-wise transformations I was hoping that openCV would automatically parallel the computation if TBB is enabled. But that example makes me think it's not the case. Is it?


edit retag flag offensive close merge delete


Alternatively, I'm trying to use openCL optimization. I tried to use convertTo() with Mat, and compared processing time with UMat. I had no difference. (my useOpenCL() is true). Is convertTo() just purely single threaded with no TBB or openCL implementation at all?

octopode gravatar imageoctopode ( 2015-11-07 08:53:17 -0600 )edit