c++ - OpenCV人検出サンプルのクラッシュ

c++ opencv crash msvcr90.dll

peopledetect.cppのコンパイルはうまくいきますが、プログラムを実行しようとすると、行でクラッシュします

hog.setSVMDetector(HOGDescriptor::getDefaultPeopleDetector());


エラーメッセージ:
openCV.exeの0x74a9ae7aでの未処理の例外:0xC0000005:場所0x00000000を書き込むアクセス違反。

呼び出しスタック:

msvcr90.dll!74a9ae7a()  
opencv_objdetect231.dll!6dbfe397()  
openCV.exe!main()  Line 27 + 0x49 bytes
openCV.exe!__tmainCRTStartup()  Line 555 + 0x19 bytes
openCV.exe!mainCRTStartup()  Line 371
kernel32.dll!74f63677()     
ntdll.dll!77319d72()    
ntdll.dll!77319d45()    


インターネットに潜んでいた後、私は何も見つけることができませんでした。
答え
OS Xで動作します。何かがnullポインターにアクセスしようとしています。交換してみてください

hog.setSVMDetector(HOGDescriptor::getDefaultPeopleDetector());




static vector<float> detector = HOGDescriptor::getDefaultPeopleDetector();
if (!detector.size()) {
    fprintf(stderr, "ERROR: getDefaultPeopleDetector returned NULL\n");
    return -1;      
}
hog.setSVMDetector(detector);


エラーがgetDefaultPeopleDetectorまたはhog.setSVMDetectorで発生しているかどうかを確認します。それは問題を絞り込むのに役立つかもしれません。
関連記事

c++ - mblenとstrlenの違いは何ですか?

iphone - C++でのNSCoderデータのエンコード/デコード

c++ - GetDIBits関数を使用してHBITMAPから受信したDIBデータにどのくらいのメモリを割り当てる必要がありますか?

c++ - テンプレートに関するこの記事の理解に助けが必要

c++ - 循環呼び出しを検出する方法は?

c++ - セグメンテーション違反と実行時エラー[重複]

c++ - NVCCにx64オブジェクトを生成するように指示するにはどうすればよいですか?

c++ - LuaPlus Metatablesの初心者向け質問

c++ - 明示的な型変換の要件

c++ - ペアベクトルc++の上限