takminの書きっぱなし備忘録 @はてなブログ

主にコンピュータビジョンなど技術について、たまに自分自身のことや思いついたことなど

OpenCV pre1.1ビルド時のエラー

OpenCV pre1.1を以下の手順でビルドし直す。

環境:

1. OpenCVフォルダ下の"_umake\opencv.vs2005.no_openmp.sln"を開く。(Express EditionではOpenMPは使用できなかったはず)
2. プロジェクトファイルのVCバージョンの変換を行う。
3. Releaseにしてソリューションをビルドする
4. cvauxでこんなエラーが出る。

1>cvbgfg_gaussmix.cpp
1>.\cvbgfg_gaussmix.cpp(348) : error C2039: 'foreground_regions' : 'CvGaussBGModel' のメンバではありません。
1>        c:\Program Files\OpenCV\cvaux\include\cvaux.h(1365) : 'CvGaussBGModel' の宣言を確認してください。
1>cvbgfg_acmmm2003.cpp
1>.\cvbgfg_acmmm2003.cpp(464) : error C2039: 'foreground_regions' : 'CvFGDStatModel' のメンバではありません。
1>        c:\Program Files\OpenCV\cvaux\include\cvaux.h(1301) : 'CvFGDStatModel' の宣言を確認してください。
1>.\cvbgfg_acmmm2003.cpp(470) : error C2039: 'foreground_regions' : 'CvFGDStatModel' のメンバではありません。
1>        c:\Program Files\OpenCV\cvaux\include\cvaux.h(1301) : 'CvFGDStatModel' の宣言を確認してください。

5. cvaux.hの1167行でコメントアウト部分が文字化けしているのが原因なので、そこを修正する

    CvMemStorage*   storage;      /*storage for 吐oreground_regions・/ <--ここ
    CvSeq*          foreground_regions /*foreground object contours*/ <--この行がコメントアウトされてしまう
    CvMemStorage*   storage;      /*storage for foreground_regions*/<--こう直す
    CvSeq*          foreground_regions /*foreground object contours*/