关注数: 12 粉丝数: 6 发帖数: 23 关注贴吧数: 3
qt新手,一个简单的opencv配置验证程序,大家帮我看看哪里错了。 在学opencv,按老师讲的测试配置好了没有。 我创了两个项目Camera和CameraTest放在了同一个目录下。 Camera包含 Camera.pro、camera.h、camera.cpp CameraTest包含CameraTest.pro 、main.cpp 运行CameraTest时报错,大概是说找不到camera.h里的方法。 camera.h中有两个方法 public:Camera(const Mat_<float> &P) Mat project(const Mat_<float> &X) 源代码贴上。 camera.h #ifndef CAMERA_H #define CAMERA_H #include<opencv2/opencv.hpp> using namespace cv; class Camera{ private:Mat_<float> P; Mat_<float> K; Mat_<float> R; Mat_<float> t; Mat_<float> c; public:Camera(const Mat_<float> &P); Mat project(const Mat_<float> &X); }; #endif // CAMERA_H camera.cpp #include "camera.h" Camera::Camera(const Mat_<float> &P) { this->P=P.clone(); } Mat Camera:: project(const Mat_<float> &X) { //x is 3*n,P is 3*4,X is 4*n Mat_<float> x=this->P*X; for(int col=0;col<x.cols;col++) for(int row=0;row<3;row++) x(row,col)=x(row,col)/x(2,col); return x; } main.cpp #include <iostream> #include<camera.h> #include<opencv2/opencv.hpp> using namespace std; int main(){ float p[3][4]={{1,0,0,1},{0,1,0,1},{0,0,1,0}}; Mat P(3,4,CV_32F,p); cout<<"投影矩阵是:"<<endl; cout<<P<<endl;//X包含两个点(1,2,4,1)和(2,3,5,1) float x[4][2]={{1,2},{2,3},{4,5},{1,1}}; Mat X(4,2,CV_32F,x); cout<<"点坐标是:"<<endl; cout<<X<<endl;Camera c(P); cout<<"投影后点坐标是:"<<endl; cout<<c.project(X)<<endl; return 0; } 我觉得应该是CameraTest.pro里没有正确包含Camera的头文件和库文件,大家帮我看看应该怎么改(应该是CONFIG那里错了,不知道怎么改)。 CameraTest.pro如下 SOURCES += main.cpp #opencv的头文件位置 INCLUDEPATH += E:\opcv\include\opencv\ E:\opcv\include\opencv2\ E:\opcv\include #opencv的库文件位置 LIBS+= E:\opcv\lib\libopencv_calib3d249.dll.a\ E:\opcv\lib\libopencv_contrib249.dll.a\ E:\opcv\lib\libopencv_core249.dll.a\ E:\opcv\lib\libopencv_features2d249.dll.a\ E:\opcv\lib\libopencv_flann249.dll.a\ E:\opcv\lib\libopencv_gpu249.dll.a\ E:\opcv\lib\libopencv_highgui249.dll.a\ E:\opcv\lib\libopencv_imgproc249.dll.a\ E:\opcv\lib\libopencv_legacy249.dll.a\ E:\opcv\lib\libopencv_ml249.dll.a\ E:\opcv\lib\libopencv_objdetect249.dll.a\ E:\opcv\lib\libopencv_video249.dll.a #Camera的库文件位置 CONFIG(release,debug|release): LIBS += = -L PWD\..\release\Camera\ else:CONFIG(debug,debug|release): LIBS += -L PWD\..\debug\Camera\ #Camera的头文件位置 INCLUDEPATH += J:\sfm\Camera
1 下一页