1.Opencv blur源码解析
Opencv blur源码解析
本文详述了在Opencv非GPU环境下,看滤看错blur函数的波源完整执行流程以及优化策略。首先,何查我们可在4.5.5版本的误信易语言 字帖源码modules/imgproc/src/box_filter.dispatch.cpp文件中找到blur的定义。默认情况下,看滤看错CV_INSTRUMENT_REGION()宏被关闭,波源但可以通过修改CMake设置启用,何查用于性能检测。误信
代码中,看滤看错boxFilter调用的波源是归一化的归一化处理,通过CV_OCL_RUN判断是何查lua和源码的区别否能使用OpenCL。对src_矩阵的误信操作表明,函数直接处理原始数据。看滤看错参数ddepth的波源处理确保其类型合理,通过creat函数的何查复用策略减少内存分配。在处理边界条件时,微信导航源码csdnBORDER_ISOLATED位运算在代码中起到重要作用。
对于自定义硬件支持的部分,本文主要关注非特定硬件的实现,如CALL_HAL和CV_OVX_RUN。createBoxFilter函数返回一个通用过滤器,微商课源码下载根据输入参数,boxFilter是可分离滤波的,对行和列分别处理以优化计算。理解不同过滤器类型,如filter2D、网站源码如何嵌套模板rowFilter和columnFilter,有助于深入理解整个过程。
BoxFilter的算法思想可参考相关优化笔记。sumType参数的使用是关键,它决定了中间存储结果的类型。函数执行过程中,CV_INSTRUMENT_REGION()追踪时间,CV_CPU_DISPATCH则用于指令集加速。FilterEngine__apply函数中,RowSum和ColumnSum类负责行和列的滤波操作,不同kernel_size和channels的处理策略各有侧重。
总的来说,blur的执行涉及多个步骤,包括性能监测、数据处理、边界条件判断和优化的滤波操作。了解这些细节有助于深入理解Opencv的优化技术。对于Opencv在不同硬件层面的加速,后续如有更新,将分享更多内容。