1

私は OpenCv を使用して車線検出アルゴリズムを開発しており、いくつかの引用を見つけましたが、そのフラグメントを理解できません。

OpenCvでそのようなことをどのように達成するのか説明していただけますか?

引用は次のとおりです。

次に、画像は 2 次元のガウス カーネルによってフィルター処理されます。垂直方向はスムージング ガウスであり、その σy は必要な車線セグメントの高さに応じて調整されます (画像では 1m に相当するように設定されています)。水平方向は Gaussian の 2 次導関数であり、その σx は予想される車線の幅に応じて調整されます。

そのようなカーネルをどのように準備できますか? getDerivKernel では、σx または σy を設定できないようです。

前もって感謝します。

4

2 に答える 2

3

OpenCVにはまさにこれを行う機能があると思います。

 Mat getGaussianKernel(int ksize, double sigma, int ktype=CV_64F)

http://docs.opencv.org/modules/imgproc/doc/filtering.htmlを参照してください

于 2012-12-19T23:44:23.977 に答える
2

GaussianBlurメソッドを使用するだけです。ドキュメントから:

sigmaX-X方向のガウスカーネル標準偏差。

sigmaY-Y方向のガウスカーネル標準偏差。sigmaYがゼロの場合はsigmaXと等しくなるように設定され、両方のシグマがゼロの場合は、それぞれksize.widthとksize.heightから計算されます(詳細については、「getGaussianKernel」を参照してください)。このすべてのセマンティクスの将来の変更の可能性に関係なく、結果を完全に制御するには、ksize、sigmaX、およびsigmaYのすべてを指定することをお勧めします。

于 2012-12-16T14:00:09.037 に答える