Visual Studio 2010でOpenCVを用いて、画像をファイルから読み込んで表示するC++プログラムを作りたいのですが、ビルドはエラーもなく成功しても実行時に上手く読み込むことができません。
手順としては
- 以下のコードでビルド
- 実行ファイルがあるフォルダに画像ファイルを置く
で問題ありませんよね…?
しかし実行すると「image not found!」と表示されるだけで読み込むことができません。
他にもいろんな場所に画像ファイルを置いてみたり、リソースファイルに追加したりしてみましたが上手く行きません。
以前は確かこの方法でできていて、今も既存のプロジェクトは正しく動作しますし、プロジェクトを丸ごとコピーしても動きます。
しかしあるときから新規でプロジェクトを作成した場合、上手く行かなくなってしまいました。
既存の正しく動作するプロジェクトのコードを丸々コピペしても駄目です。
思い当たるのはVisual Studio 2012をインストールしたことなのですが、2012も結構使っていてこれからも使いたいので、アンインストールはできれば避けたいです。
どこか設定を直さなくてはならないと思うのですが、どこを弄ればいいのか分からないため、ご教授いただけますと幸いです。
環境
Windows 7
Visual Studio 2008,2010,2012
(2010→2008→2012の順でインストールしています)
#include <iostream>
#include <string>
#include <cv.h>
#include <highgui.h>
#include <stdio.h>
using namespace std;
using namespace cv;
int main(int argc, char *argv[])
{
const char *imageName = "airplane.jpg";
Mat colorImage = imread(imageName, 1);
if (colorImage.empty())
{
cout << "image not found!";
return -1;
}
namedWindow("image", CV_WINDOW_AUTOSIZE);
imshow("image", colorImage);
waitKey(0);
return 0;
}
リンカーの設定(入力)
opencv_core231d.lib
opencv_highgui231d.lib
opencv_video231d.lib
opencv_ml231d.lib
opencv_legacy231d.lib
opencv_imgproc231d.lib
opencv_objdetect231d.lib
opencv_features2d231d.lib
opencv_calib3d231d.lib
opencv_flann231d.lib
opencv_contrib231d.lib
opencv_gpu231d.lib