4

opencvのSobelエッジ検出器に問題があります。そのドキュメントから、水平方向と垂直方向のエッジに対してのみ機能するようです(0、1、または1,0を指定することにより)。誰かがcvSobelCannyメソッドではない)で対角エッジを45度と135度にする方法を知っていますか?Matlabには、edge(I、'sobel' ...)オプションを備えた魂がありますが、私のコードはすべてc ++であり、そのままにしておきたいと思います。

提案と解決策をありがとう。

4

2 に答える 2

5

ヘイ。通常、次の方法で任意の方向の任意のフィルターを計算できます。

  1. resX=X方向の結果を計算します
  2. resY=Y方向の結果を計算します
  3. 希望の方向を選択してください(角度アルファ)
  4. 望ましい結果はsqrt((Y * sin(alpha))^ 2 +(X * cos(alpha))^ 2)です。

これは、エッジ検出、モーションブラー、および任意の線形有向フィルターで機能します。

于 2011-05-27T12:17:52.203 に答える
0

対角線を検出します。2回実行するだけです。水平と垂直の両方のポイントは、定義上、対角線です。

于 2012-12-20T06:46:57.267 に答える