5

私は OpenCV を使い始めたばかりで、次のサンプル .cpp ファイルがあります (opencv.org から):

#include <stdio.h>
#include <opencv2/opencv.hpp>

using namespace cv;

int main( int argc, char** argv )
{
    Mat image;
    image = imread( argv[1], 1 );

    if( argc != 2 || !image.data )
    {
        printf( "No image data \n" );
        return -1;
    }

    namedWindow( "Display Image", CV_WINDOW_AUTOSIZE );
    imshow( "Display Image", image );

    waitKey(0);

    return 0;
}

次の CMakeList.cmake ファイルがあります。

project(opencvTEST)
cmake_minimum_required(VERSION 2.6 FATAL_ERROR)

find_package(OpenCV REQUIRED)

# Project Executable
add_executable (test test.cpp)
target_link_libraries(test ${OpenCV_LIBS})

私は Mac (OS 10.6.8) を使用しており、CMake で OpenCV 2.4.3 をインストールしました。高低を検索し、このテスト プログラムをコンパイルするためにさまざまなことを試しました (コマンドを使用しています)。行 -- IDE なし) ですが、次のコンパイル エラーが発生します (明らかに、includeステートメントが正しく機能していないためです)。

test.cpp:3:30: error: opencv2/opencv.hpp: No such file or directory
test.cpp:5: error: ‘cv’ is not a namespace-name
test.cpp:5: error: expected namespace-name before ‘;’ token
test.cpp: In function ‘int main(int, char**)’:
test.cpp:9: error: ‘Mat’ was not declared in this scope
test.cpp:9: error: expected `;' before ‘image’
test.cpp:10: error: ‘image’ was not declared in this scope
test.cpp:10: error: ‘imread’ was not declared in this scope
test.cpp:18: error: ‘CV_WINDOW_AUTOSIZE’ was not declared in this scope
test.cpp:18: error: ‘namedWindow’ was not declared in this scope
test.cpp:19: error: ‘imshow’ was not declared in this scope
test.cpp:21: error: ‘waitKey’ was not declared in this scope

opencv2と同じディレクトリにという名前のフォルダがありtest.cpp、にあるため、見つからない理由がわかりません。何か案は? opencv.hppopencv2

また、一般的に、OpenCV はソース (.cpp など) ファイルをどこに配置することを期待していますか?

4

4 に答える 4

5

まったく同じ問題がありました。opencv チュートリアルから同じ例を実行しましたが、同じエラーが発生しました

error: ‘CV_WINDOW_AUTOSIZE’ was not declared in this scope

ヘッダーを追加してこれを解決しました:

#include <opencv/highgui.h>
于 2013-09-10T14:20:19.140 に答える
0

opencv\build\include というパスを持つインクルード フォルダーがもう 1 つあります。完全なヘッダーがあり、OpenCV_INCLUDE_DIR をこのディレクトリに設定できます

于 2013-04-02T04:55:18.510 に答える