2016-04-18 9 views
0

OpenCVベースのコードを変更して、検出された各オブジェクトとともにカスケード分類子から信頼性を取得しようとしています。 CascadeClassifierのとlevelWeightsのパラメータを取り、(outputRejectLevelsの場合はtrue)メソッドを呼び出すのthe overloadメソッドを呼び出すと、呼び出しは完了しません。内部的には、detectMultiScaleNoGroupingの呼び出しはすぐに終了しますが、何百万ものオブジェクトが返されます。余分なパラメータのいずれかを渡さずにoutputRejectLevelsをfalseに設定すると、同じ呼び出しは60オブジェクトを返し、残りの関数は正常に動作します。rejectLevelsとlevelWeightsでoverloadを呼び出すと、DetectMultiScaleが返されない

このオーバーロードを呼び出すことはできませんか?それとも、関数が終了しないほど多くの値を返すという別の理由がありますか?どうやってこれを正しく行うことができますか?

注:同じ問題を参照しているように見えるanother questionが表示されますが、問題自体に関する多くの情報は含まれておらず、回答もありません。

+0

[拒否レベルが要求されたときにextended detectMultiscaleが失敗する#6022](https://github.com/Itseez/opencv/issues/6022)この問題を見ることができます。 – Catree

+0

ポインタのおかげで@Catree - 私は少し掘り下げて、解決策を見つけることができました。 –

答えて

0

これはOpenCVのマスターブランチで修正されていますが、まだリリースされていません(2016年4月18日現在)。手動でパッチを適用して再構築すると問題が解決されることを確認しました。

関連する説明はhereであり、問​​題を解決するために含める必要があるPRはthis oneです。これは1行の変更であるため、変更が含まれた公式ビルドをリリースするまで手動で実装するのは簡単です。

関連する問題