在Eclipse中使用OpenCV [英] Using OpenCV in eclipse

查看:74
本文介绍了在Eclipse中使用OpenCV的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我正在尝试在Eclipse Luna中设置opencv.我编写了一个示例应用程序,如下所示:

  #include< cv.h>#include< highgui.h>#include< iostream>使用命名空间cv;int main(int argc,char ** argv){垫子图像;图片= imread(argv [1],1);if(argc!= 2 ||!image.data){printf(没有图像数据\ n");返回-1;}namedWindow("Display Image",CV_WINDOW_AUTOSIZE);imshow("Display Image",image);waitKey(0);返回0;} 

在我的项目属性中,我已将/usr/local/include/opencv 包含在(Project-> Properties-> C/C ++ Build-> Settings-> Tool设置-> GCC C ++编译器->包含->包含路径.)

(Project-> Properties-> C/C ++ Build-> Settings-> Tool Settings-> GCC C ++ Linker->库->库搜索路径.)

我的命令 pkg-config --cflags opencv 的输出是 -I/usr/local/include/opencv -I/usr/local/include

pkg-config --libs opencv 的输出是

 <代码> -L/USR/本地/lib中-lopencv_stitching -lopencv_superres -lopencv_videostab -lopencv_viz -lopencv_adas -lopencv_bgsegm -lopencv_bioinspired -lopencv_ccalib -lopencv_datasets -lopencv_face -lopencv_latentsvm -lopencv_objdetect -lopencv_line_descriptor -lopencv_optflow -lopencv_reg -lopencv_rgbd -lopencv_saliency -lopencv_stereo-lopencv_surface_matching -lopencv_text -lopencv_tracking -lopencv_xfeatures2d -lopencv_shape -lopencv_video -lopencv_ximgproc -lopencv_calib3d -lopencv_features2d -lopencv_ml -lopencv_flanc -lopencv_xio_lope_vcs_gui 

当我尝试构建项目时,出现以下错误.

在此范围内未声明

 "imread"未在此范围内声明"imshow"未在此范围内声明"namedWindow"未在此范围内声明"waitKey"函数"imread"无法解析函数"imshow"无法解析函数"namedWindow"无法解析函数"waitKey"无法解析 

任何人都可以帮助我解决问题并解释我所缺少的是什么.

解决方案

尝试更改:

  #include< cv.h>#include< highgui.h> 

对此:

  #include< opencv2/opencv.hpp> 

您还需要链接库(GCC C ++链接器»库):

  opencv_coreopencv_imgcodecsopencv_highgui 

您没有说您使用的是哪个版本,但是当您使用 -lopencv_imgcodecs 时,您可能正在使用OpenCV3.如果愿意,请按照

In my project properties i have included /usr/local/include/opencv in (Project->Properties->C/C++ Build->Settings->Tool Settings -> GCC C++ Compiler -> Includes -> Include Paths. )

and /usr/local/lib in (Project->Properties->C/C++ Build->Settings->Tool Settings -> GCC C++ Linker -> Libraries -> Library Search Path. )

My output of the command pkg-config --cflags opencv is -I/usr/local/include/opencv -I/usr/local/include

and the output of pkg-config --libs opencv is

 -L/usr/local/lib -lopencv_stitching -lopencv_superres -lopencv_videostab -lopencv_viz -lopencv_adas -lopencv_bgsegm -lopencv_bioinspired -lopencv_ccalib -lopencv_datasets -lopencv_face -lopencv_latentsvm -lopencv_objdetect -lopencv_line_descriptor -lopencv_optflow -lopencv_reg -lopencv_rgbd -lopencv_saliency -lopencv_stereo -lopencv_surface_matching -lopencv_text -lopencv_tracking -lopencv_xfeatures2d -lopencv_shape -lopencv_video -lopencv_ximgproc -lopencv_calib3d -lopencv_features2d -lopencv_ml -lopencv_flann -lopencv_xobjdetect -lopencv_xphoto -lopencv_highgui -lopencv_videoio -lopencv_imgcodecs -lopencv_photo -lopencv_imgproc -lopencv_core -lopencv_hal

When I tried building my project i got the following errors.

‘imread’ was not declared in this scope 
‘imshow’ was not declared in this scope 
‘namedWindow’ was not declared in this scope    
‘waitKey’ was not declared in this scope    
Function 'imread' could not be resolved 
Function 'imshow' could not be resolved 
Function 'namedWindow' could not be resolved
Function 'waitKey' could not be resolved    

Can anyone help me fixing the problem and explain what is that I was missing.

解决方案

Try to change:

#include <cv.h>
#include <highgui.h>

To this:

#include <opencv2/opencv.hpp>

You also need to link the Libraries (GCC C++ Linker » Libraries):

opencv_core
opencv_imgcodecs
opencv_highgui

You didn't say which version you are using, but as you have -lopencv_imgcodecs, you are probably using OpenCV 3. If you prefer, follow the instructions here. Also change from CV_WINDOW_AUTOSIZE to WINDOW_AUTOSIZE.

这篇关于在Eclipse中使用OpenCV的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆