3

OpenCVのドキュメントによると、 (order == 0) は導関数がこの方向に適用されないことを意味します。つまり、このカーネルの計算は実行されません。

(Order == 1) は、この方向の画像とカーネルの単純な畳み込みを意味します。

しかし、 (order == 2) は何を意味するのでしょうか? 計算にどのように影響しますか?

私は自己記述のソーベル演算子を実装しています.order == 1でうまく機能しますが、 cv::Sobel(src, dest, 0, 2, 0)。

4

1 に答える 1

2

はい。次数 1 は、特定の方向の一次導関数を推定します。次数 2 は、2 次導関数 (強度の変化率の変化率) を推定します。等々。

位置 (強度)、速度 (次数 = 1)、加速度 (次数 = 2)、ジャーク (加速度の変化率 - 次数 3) を考えてください。

通常、高次導関数はあまり有用ではありません。特に、画像の離散化と、通常使用する画像操作のサイズが制限されているステンシルが原因です。

ソーベルの 1 次を 2 回適用すると、理論的には 2 次のソーベルが得られるはずですが、実際には、イメージとソーベル演算子の両方が離散化されているため、これは当てはまりません。

于 2013-03-16T21:31:44.727 に答える