電子書籍の厳選無料作品が豊富!

超初心者です。
Visual C++2010 ExpressでOpenCVを使おうとしています。

このページを参考にしています。
http://gihyo.jp/dev/feature/01/opencv/0002?page=2

プログラムは以下の通り。

#include <C:\Program Files (x86)\opencv\build\include\opencv\cv.h>
#include <C:\Program Files (x86)\opencv\build\include\opencv\highgui.h>

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;
}

コンパイルすると、以下のエラーメッセージが出ます。

1>------ ビルド開始: プロジェクト: try, 構成: Debug Win32 ------
1> try.cpp
1>c:\program files (x86)\opencv\build\include\opencv\cv.h(63): fatal error C1083: include ファイルを開けません。'opencv2/core/core_c.h': No such file or directory
========== ビルド: 0 正常終了、1 失敗、0 更新不要、0 スキップ ==========

どのようにすれば通るのでしょうか?
教えてください。よろしくお願いします。

A 回答 (2件)

> この連載では,以下のような開発環境をベースに解説を行っていきます。


> バージョン:OpenCV 1.0
> OS:Winodows XP
> IDE:Microsoft Visual C++ 2005


現在、OpenCVは2.xになっています。
ディレクリ構造が1.xのころから少し変っています。

2.x用に書かれた資料を探すか、自分で修正できる程度にC/C++言語の知識を深めるかしましょう。
私としては後者をお勧めしたいところです。
    • good
    • 0
この回答へのお礼

回答ありがとうございます!

Cは大学時代にやっていたのですが、なんせ何十年も前のことなので、すっかり抜けてしまいました。

がんばって復習したいと思います。

お礼日時:2014/12/30 05:49

えっと、普通はインクルードファイルをフルパスで指定しません。


プロジェクトにインクルードファイルのパスを設定し、そこからの相対パスを指定します。
たぶん、インクルードファイルのルートパスが設定されていないので、インクルードしているファイルが参照しているヘッダーファイルを見つけられないのだと思います。

--->引用
「構成」で「すべての構成」を選択し,左側のツリーから「C/C++」タブを選択し,「追加のインクルードディレクトリ」にインストールしたOpenCVのホームディレクトリの下の以下のディレクトリを追加します。
<---ここまで
ページの最初の方に書いてあるこれはやっていますか?

この回答への補足

回答ありがとうございます!

最初はフルパスではなく、参考ページままでやってみたのですが、こんなエラーメッセージが。

1>------ ビルド開始: プロジェクト: try, 構成: Debug Win32 ------
1> try.cpp
1>c:\program files (x86)\opencv\try\try.cpp(1): fatal error C1083: include ファイルを開けません。'cv.h': No such file or directory
========== ビルド: 0 正常終了、1 失敗、0 更新不要、0 スキップ ==========

なので、試しにフルパスにしてみた次第です。

ご指摘の引用部はやってみました。ただ、「以下のディレクトリ」(cxcore\include, cv\include, otherlibs\highgui, cvaux\include.)が実際にはないんですけど、ここは臨機応変にディレクトリ名を変えないといけないのですかね?

超初心者の質問に付き合って頂いて、大変ありがたいです。
ありがとうございます!

補足日時:2014/12/29 18:32
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!