画像処理を簡単に扱えるということを知り、OpenCV2.1をインストー
画像処理を簡単に扱えるということを知り、OpenCV2.1をインストールしました。
インストールは http://imagingsolution.blog107.fc2.com/blog-entry-207.html
のページの初心者向けの方を参考にしました。
本体のインストール後、Visual Studio 2005 のインクルードファイルとライブラリの設定を行いました。本体のインストール先をCドライブ直下にしたため、以下のパスを設定しました。
c:\OpenCV2.1\include\opencv
c:\OpenCV2.1\lib
また、環境変数のpathの部分に以下のパスを設定しました。
c:\OpenCV2.1\bin
設定後、簡単なサンプルプログラムを下記の簡単なサンプルプログラムを実行してみました。
画像を読み込み、それを表示するだけのものです。
---------------------------------------------------
#include "cv.h"
#include "highgui.h"
#ifdef _DEBUG
//Debugモードの場合
#pragma comment(lib,"cv210d.lib")
#pragma comment(lib,"cxcore210d.lib")
#pragma comment(lib,"cvaux210d.lib")
#pragma comment(lib,"highgui210d.lib")
#else
//Releaseモードの場合
#pragma comment(lib,"cv210.lib")
#pragma comment(lib,"cxcore210.lib")
#pragma comment(lib,"cvaux210.lib")
#pragma comment(lib,"highgui210.lib")
#endif
int main(int argc, char* argv[])
{
IplImage* img; // 画像ファイルポインタの宣言
char imgfile[] = "lena.jpg"; // 読み込み画像ファイル名
// 画像の読み込み
img = cvLoadImage(imgfile, CV_LOAD_IMAGE_COLOR);
// 画像の表示
cvNamedWindow ("lena", CV_WINDOW_AUTOSIZE);
cvShowImage ("lena", img);
cvWaitKey (0);
cvDestroyWindow("lena");
// 画像の解放
cvReleaseImage(&img);
return 0;
}
--------------------------------------------------
Debugモードのときにこのプログラムを実行すると以下のエラーが出ます。
「アプリケーションを正しく初期化できませんでした。(0xc0150002)」
binフォルダの中身を見てみたところ、それぞれのdllもちゃんとありました。
この症状の場合、Microsoft Visual C++ 2005 SP1 再頒布可能パッケージ (x86)
をインストールしてくださいとのことでしたが、正常にインストールできたか分からない状態です。
vcredist_x86.exeを起動してみると、「WindowsにMicrosoft VisualC++ 2005 Redistributable を設定しています。しばらくお待ちください。必要な情報を集めています。」というダイアログが30秒ほど出てから消えてしまうだけです。プログラムの追加と削除の項目を見てみたところ、Microsoft VisualC++ 2005 Redistributableというものがあったのでインストールできているものと思いたいですが…。仮にうまくインストールできていたとしても症状が改善されなくて困ってます。
私は正規品のvisualC++2005をインストールしたので、そもそもこのランタイムのインストールは必要ないような気もします…。
OSはWindowsXPです。コンピュータにあまり詳しくないので詳細の環境は何を書けばいいのかがよく分かりません。解決策よろしくお願いします。