3

OpenCV 文档说,(order == 0) 意味着不会在这个方向上应用导数,即不会对该内核执行任何计算。

(Order == 1) 意味着这个方向的图像和内核的简单卷积。

但是 (order == 2) 是什么意思?它如何影响计算?

我正在实现自写的 Sobel 运算符,它适用于 order == 1,但我无法获得与 OpenCV 的二阶 Sobel 运算符类似的任何东西,称为 cv::Sobel(src, dest, 0, 2, 0)。

4

1 回答 1

2

是的。一阶估计特定方向的一阶导数。二阶估计二阶导数(强度变化率的变化率)。等等。

考虑位置(强度)、速度(阶数 = 1)、加速度(阶数 = 2)、加加速度(加速度变化率 - 阶数 3)

通常高阶导数不太有用,特别是由于图像的离散化和图像操作通常使用的有限尺寸模板。

理论上,两次应用 Sobel 一阶应该会给您二阶 Sobel,但实际上由于图像和 Sobel 算子的离散化,这不是真的。

于 2013-03-16T21:31:44.727 回答