Visual Studio 2005 (Professional Edition) で画像処理ライブラリである OpenCV(beta5) を使うときのメモです。
基本は以下を参考にします。
OpenCV@Chihara-Lab -> インストール。
OpenCV(beta5) のヘッダファイルには間違いがあります。(cvaux.hの1137行目 : "*/" でコメントを終了しなければいけないところが、"・/" になっていて、次の行までコメントアウトされてしまっている。)気づいてくれてありがとう、Chihara-Lab の人。
VS2003 では、上のページにしたがってやれば、導入できるのですが、
VS2005 では、コンパイルしようとすると私の環境では、以下のようなエラー・警告がでます。
(クリックで拡大)
1~3つ目のエラーは、"cxtypes.h"内 の 関数"cvRound()"の定義で、"__asm"を使っているからエラーが出ているようです。よって、"cvRound()"を一番安全そうなコードでコンパイルするように変更しましょう。
4つめの警告は、"cvcompat.h"の該当箇所
基本は以下を参考にします。
OpenCV@Chihara-Lab -> インストール。
OpenCV(beta5) のヘッダファイルには間違いがあります。(cvaux.hの1137行目 : "*/" でコメントを終了しなければいけないところが、"・/" になっていて、次の行までコメントアウトされてしまっている。)気づいてくれてありがとう、Chihara-Lab の人。
VS2003 では、上のページにしたがってやれば、導入できるのですが、
VS2005 では、コンパイルしようとすると私の環境では、以下のようなエラー・警告がでます。
1~3つ目のエラーは、"cxtypes.h"内 の 関数"cvRound()"の定義で、"__asm"を使っているからエラーが出ているようです。よって、"cvRound()"を一番安全そうなコードでコンパイルするように変更しましょう。
CV_INLINE int cvRound( double value )
{
double temp = value + 6755399441055744.0;
return (int)*((uint64*)&temp);
}たぶん、これで大丈夫です。4つめの警告は、"cvcompat.h"の該当箇所
data[2] = A[2]; data[3] = A[5];を
data[2] = A[2];
data[3] = A[5];に変更したら、警告はでなくなりました。プログラム詳しくないので、なんでかは分かりません。

コメントする