私は、SURFアルゴリズムのChris Evans OpenSURF実装を使用して、オブジェクト認識用のアプリケーションを開発しました。いくつかの実験を行っていますが、IDEを介して、または.exeファイルをダブルクリックして直接アプリケーションを起動すると、アルゴリズムが適切に動作しないことに気付きました。.exeファイルが、IDEを介して起動するコードのバイナリコンパイル済みであることを確認しました。SURFアルゴリズムは決定論的であり、同じ入力で常に同じ出力を返す必要があるため、IDEまたは.EXEからアプリを起動する場合、浮動小数点の精度に関連する何かが異なるようです。いくつかの例。1列目と2列目は、画像から抽出されたポイントの数です。3番目の列は、この1番目と2番目の違いです。
EXE VS Diff
17340 17366 -26 Image001
4639 4631 8 Image002
3196 3189 7 Image003
10442 10441 1 Image004
1485 1477 8 Image005
5539 5555 -16 Image006
18102 18073 29 Image007
アルゴリズムとコードがまったく同じである場合、出力が異なる理由を誰でも教えてくれますか?
ありがとう