看cv::sobel源码--Apple的学习笔记

getDerivKernels函数:我设置kernel为3,其实是调用getSobelKernels函数
功能是得到需要的x或者y方向的导数系数。

Mat::convertTo
func( src.data, src.step, 0, 0, dst.data, dst.step, sz, scale );
调用的函数指针数组
DEF_CVT_FUNC_F(32s32f, int, float, 32s32f_C1R)
对应的模板函数
template static void cvt_( const T* src, size_t sstep,
  DT* dst, size_t dstep, Size size )

sepFilter2D->hal::sepFilter2D->ocvSepFilter

createSeparableLinearFilter比较重要
创建一个图像滤波其引擎类,其主要处理的是原图像和目标图像数据格式的统以及滤波器核的合成
f->apply就是调用FilterEngine::apply。

里面主要是start进入边界和核及步长的处理,proceed进行roi区域的卷积运算。

注:其它的高斯滤波等只要用到卷积运算的都会用到FilterEngine。 

你可能感兴趣的:(看cv::sobel源码--Apple的学习笔记)