Dear all,
I'm currently using opencv accelerated functions from cv::cuda.
I also want to use the **undistort()** function, wich is already parralelised on CPU.
However, the use of this function still takes too much time, and I want to compile it for GPU use.
I'm trying to make my own version of this function, but I get stucked with **getInitUndistortRectifyMapComputer()**
This function is calling itself in **undistort.dispatch.cpp** :
namespace
{
Ptr getInitUndistortRectifyMapComputer(Size _size, Mat &_map1, Mat &_map2, int _m1type,
const double *_ir, Matx33d &_matTilt,
double _u0, double _v0, double _fx, double _fy,
double _k1, double _k2, double _p1, double _p2,
double _k3, double _k4, double _k5, double _k6,
double _s1, double _s2, double _s3, double _s4)
{
CV_INSTRUMENT_REGION();
CV_CPU_DISPATCH(getInitUndistortRectifyMapComputer, (_size, _map1, _map2, _m1type, _ir, _matTilt, _u0, _v0, _fx, _fy, _k1, _k2, _p1, _p2, _k3, _k4, _k5, _k6, _s1, _s2, _s3, _s4),
CV_CPU_DISPATCH_MODES_ALL);
}
} // namespace
I cannot find where the function is implemented.
Also, the study of **ParallelLoopBody**, **parallel_for_** and **CV_CPU_DISPATCH** led me nowhere
**How can I find the source code to compile my own version of the function ??**
**Is there an other way to get the same result using other** (opencv or not) **stuff ??**
Thanks,
↧