OpenCV文档说,(order == 0)意味着衍生物不会在这个方向上应用,即不会对此内核进行计算。
(Order == 1)意味着只是为这个方向进行简单的图像和内核卷积。
但是(order == 2)是什么意思?它如何影响计算?
我正在实现自编的Sobel算子,它对于order == 1很有用,但我无法得到任何与OpenCV的二阶Sobel算子类似的东西,称为cv :: Sobel(src,dest,0 ,2,0)。
答案 0 :(得分:1)
是。订单1估计特定方向的一阶导数。 订单二估计二阶导数(强度变化率的变化率)。 等等。
考虑位置(强度),速度(阶数= 1),加速度(阶数= 2),加速度(加速度变化率 - 阶数3)
通常高阶导数不太有用,特别是由于图像的离散化和模板图像操作通常有限的大小。
两次应用Sobel第一顺序理论上应该给你二阶Sobel,但实际上由于图像和Sobel算子的离散化,这是不正确的。