I didn’t manage to find anything in the documentation but does OpenCv4Android use multiple threads for processing? I’m using mostly basic methods from Core and Imgproc classes like filter2d, threshold, inRange, GaussianBlur, Canny, findContours, drawContours. Does the processing happen on the same thread from which I have Java calls in the onCameraFrame method or does the library manage its own threads?
How are you using those methods? Using Open CV Manager or have you generated .so files?
As for threading I doubt they do that and I think they have no reason to do that. Any lib that does it would document it and they haven’t it.
Android app where it is being used has to have the threading implementation as per the need. I tested with some long tasks and it crashed my app on main thread. That’s another reason to suggest they don’t. But then again check the docs if it’s mentioned.
check cv::getBuildInformation()
find the line that says: Parallel framework
most computationally expensive functions in OpenCV have been written to use various optimizations, which includes parallelization. this isn’t even mentioned in individual function docs because it’s a fundamental assumption in OpenCV.
The build information dump says TBB. So there’s no explicit information about which functions are parallelized and which are not and the only way to find out is by digging into the source code?