ja dopiero się rozpoczął z OpenCV, i mam następujący przykładowy plik .cpp (od opencv.org):Gdzie/jak umieścić zbudować pliki w OpenCV
#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;
}
i mam następujące CMakeList plik .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})
mam Mac (OS 10.6.8) i mam zainstalowane OpenCV 2.4.3 z CMake i rozglądałem się wysokie i niskie i próbowałem wielu różnych rzeczy, aby to testuj program do kompilacji (używam wiersza poleceń - bez IDE), ale pojawia się następujący błąd kompilacji (wyraźnie, z powodu include
oświadczenie nie działa prawidłowo):
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
mam folder o nazwie opencv2
w tym samym katalogu co test.cpp
i opencv.hpp
jest w opencv2
, więc nie rozumiem, dlaczego to nie jest znalezienie go. Jakieś pomysły?
Co więcej, gdzie OpenCV spodziewa się umieścić pliki źródłowe (.cpp itp.)?
Dość ciekawe ... Nie byłem świadomy różnicy pomiędzy '< > 'i' "" 'dla instrukcji' # include'. Czy wiesz, czy istnieje powód do kopiowania 'opencv' i' opencv2' (folderów z plikami nagłówkowymi) do katalogu '/ usr/include'? – MuffinTheMan