0
私はthisの記事の後にC++でSIFTRootを実装しようとしています。特にOpenCV:記述子行列のL1正規化
:
# apply the Hellinger kernel by first L1-normalizing and taking the
# square-root
descs /= (descs.sum(axis=1, keepdims=True) + eps)
descs = np.sqrt(descs)
私の質問は以下のとおりです。
- は、OpenCVの中でこれを行うには任意の組み込みのC++の機能はありますか?
- すべての記述子が正の値ですか?それ以外の場合、L1ノルムは各要素のabsを使用する必要があります。
- 最初の行は、 "各行ベクトルに対して、すべての要素の合計を計算した後、eps(0で除算しないように)を追加し、最後に各ベクトル要素をこの合計値で除算します。
ありがとう、私はちょうど 'cv :: normalize'がどのように動作するのか理解しようとしていましたが、ドキュメントの' alpha 'で混乱しました。ありがとう! – justHelloWorld