VS安装opencv3.4.0和opencv_contrib-3.4.0

vs配置opencv 

1、error LNK2019: 无法解析的外部符号 "void __cdecl cv::imshow(class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > const &,class cv::_InputArray const &)" (?imshow@cv@@YAXABV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@ABV_InputArray@1@@Z),该符号在函数 "void __cdecl mouseEvent(int,int,int,int,void *)" (?mouseEvent@@YAXHHHHPAX@Z) 中被引用

原因:库目录没有找到,在附加库目录里面opencv_world340.lib和opencv_world340d.lib两个都加上

2、但是出现如下问题:

转到..\opencv\build\x64\v14\bin目录下,将相关的dll拷贝到window操作系统目录下C:\Windows\System32

3、缺少如下的dll,在opencv中没有找到

控制面板——卸载与更改程序——选中如下文件,右键更改——修复

还是没解决,下载相关的dll,放到 拷贝到window操作系统目录下C:\Windows\System32

下载网站:https://cn.dll-files.com/

解决!!!

4、图片路径问题

OpenCV Error: Assertion failed (size.width>0 && size.height>0) in cv::imshow, file C:\build\master_winpack-build-win64-vc14\opencv\modules\highgui\src\window.cpp, line 331

 检查之后,图片名字问题:

修改之后大功告成:

扩展opencv-contrib

 

1、下载cmake-gui编译工具https://cmake.org/download/,注意下载msi文件,安装,勾上添加系统环境变量

2、配置source路径和build路径,先configure,完后添加模块contrib路径,接着generate!最后在build路径下有一个opencv.sln文件,即表示编译成功

3、vs编译

vs——打开项目——opencv.sln——生成解决方案,出现模块计算机类型“x64”与目标计算机类型“X86”冲突解决方案

解决:cmake编译的时候编译器默认是32位的,要选择x64重新configure和generate,然后vs中链接器——高级——目标计算机——x64,同时编译环境选x64,重新生成解决方案,没有提示错误,成功!!!

接着解决方案资源管理器—>CMakeTargets—>INSTALL—>仅用于项目—>仅生成INSTALL 

 添加包含目录、附加库目录等

opencv_aruco340d.lib;
opencv_bgsegm340d.lib;
opencv_bioinspired340d.lib;
opencv_calib3d340d.lib;
opencv_ccalib340d.lib;
opencv_core340d.lib;
opencv_datasets340d.lib;
opencv_dnn340d.lib;
opencv_dpm340d.lib;
opencv_face340d.lib;
opencv_features2d340d.lib;
opencv_flann340d.lib;
opencv_fuzzy340d.lib;
opencv_highgui340d.lib;
opencv_img_hash340d.lib;
opencv_imgcodecs340d.lib;
opencv_imgproc340d.lib;
opencv_line_descriptor340d.lib;
opencv_ml340d.lib;
opencv_objdetect340d.lib;
opencv_optflow340d.lib;
opencv_phase_unwrapping340d.lib;
opencv_photo340d.lib;
opencv_plot340d.lib;
opencv_reg340d.lib;
opencv_rgbd340d.lib;
opencv_saliency340d.lib;
opencv_shape340d.lib;
opencv_stereo340d.lib;
opencv_stitching340d.lib;
opencv_structured_light340d.lib;
opencv_superres340d.lib;
opencv_surface_matching340d.lib;
opencv_text340d.lib;
opencv_tracking340d.lib;
opencv_video340d.lib;
opencv_videoio340d.lib;
opencv_videostab340d.lib;
opencv_xfeatures2d340d.lib;
opencv_ximgproc340d.lib;
opencv_xobjdetect340d.lib;
opencv_xphoto340d.lib;

 测试用例也通过,完美!!!

opencv_aruco340.lib
opencv_bgsegm340.lib
opencv_bioinspired340.lib
opencv_calib3d340.lib
opencv_ccalib340.lib
opencv_core340.lib
opencv_datasets340.lib
opencv_dnn340.lib
opencv_dpm340.lib
opencv_face340.lib
opencv_features2d340.lib
opencv_flann340.lib
opencv_fuzzy340.lib
opencv_highgui340.lib
opencv_img_hash340.lib
opencv_imgcodecs340.lib
opencv_imgproc340.lib
opencv_line_descriptor340.lib
opencv_ml340.lib
opencv_objdetect340.lib
opencv_optflow340.lib
opencv_phase_unwrapping340.lib
opencv_photo340.lib
opencv_plot340.lib
opencv_reg340.lib
opencv_rgbd340.lib
opencv_saliency340.lib
opencv_shape340.lib
opencv_stereo340.lib
opencv_stitching340.lib
opencv_structured_light340.lib
opencv_superres340.lib
opencv_surface_matching340.lib
opencv_text340.lib
opencv_tracking340.lib
opencv_video340.lib
opencv_videoio340.lib
opencv_videostab340.lib
opencv_xfeatures2d340.lib
opencv_ximgproc340.lib
opencv_xobjdetect340.lib
opencv_xphoto340.lib

4、将编译好的文件复制到另外一台笔记本上,出现如下问题:

错误	1	error LNK2019: 无法解析的外部符号 "void __cdecl cv::imshow(class cv::String const &,class cv::_InputArray const &)" (?imshow@cv@@YAXAEBVString@1@AEBV_InputArray@1@@Z),该符号在函数 main 中被引用	C:\Users\智能控制研究所\Desktop\VLC\c++\LK\LK\LK.obj	LK
错误	2	error LNK2019: 无法解析的外部符号 "void __cdecl cv::selectROIs(class cv::String const &,class cv::_InputArray const &,class std::vector<class cv::Rect_<int>,class std::allocator<class cv::Rect_<int> > > &,bool,bool)" (?selectROIs@cv@@YAXAEBVString@1@AEBV_InputArray@1@AEAV?$vector@V?$Rect_@H@cv@@V?$allocator@V?$Rect_@H@cv@@@std@@@std@@_N3@Z),该符号在函数 main 中被引用	C:\Users\智能控制研究所\Desktop\VLC\c++\LK\LK\LK.obj	LK
错误	3	error LNK2019: 无法解析的外部符号 "void __cdecl cv::resize(class cv::_InputArray const &,class cv::_OutputArray const &,class cv::Size_<int>,double,double,int)" (?resize@cv@@YAXAEBV_InputArray@1@AEBV_OutputArray@1@V?$Size_@H@1@NNH@Z),该符号在函数 main 中被引用	C:\Users\智能控制研究所\Desktop\VLC\c++\LK\LK\LK.obj	LK

各种附加库都添加了,考虑到笔记本上使用的是vs13,出现无法解析的外部符号,台式机使用的是vs15,没问题,所以在笔记本上安装vs15,编译通过

 

 

 

 

 

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
很高兴为您提供帮助!以下是安装OpenCV 3.4.0的Linux命令: 1. 更新和升级Ubuntu系统: sudo apt-get update sudo apt-get upgrade 2. 安装必需的软件包: sudo apt-get install build-essential cmake git libgtk2.0-dev pkg-config libavcodec-dev libavformat-dev libswscale-dev 3. 下载OpenCV 3.4.0: cd ~/ wget -O opencv.zip https://github.com/opencv/opencv/archive/3.4.0.zip unzip opencv.zip 4. 下载OpenCV贡献模块: wget -O opencv_contrib.zip https://github.com/opencv/opencv_contrib/archive/3.4.0.zip unzip opencv_contrib.zip 5. 安装Python2相关的软件包: sudo apt-get install python-dev python-numpy libtbb2 libtbb-dev libjpeg-dev libpng-dev libtiff-dev libjasper-dev libdc1394-22-dev python-opencv python-pip 6. 安装Python3相关的软件包: sudo apt-get install python3-dev python3-numpy libtbb2 libtbb-dev libjpeg-dev libpng-dev libtiff-dev libjasper-dev libdc1394-22-dev python3-opencv python3-pip 7. 编译和安装OpenCV 3.4.0: cd ~/opencv-3.4.0/ mkdir build cd build # for Python 2 cmake -D CMAKE_BUILD_TYPE=RELEASE -D CMAKE_INSTALL_PREFIX=/usr/local -D BUILD_opencv_python2=ON -D INSTALL_C_EXAMPLES=OFF -D INSTALL_PYTHON_EXAMPLES=ON -D OPENCV_EXTRA_MODULES_PATH=~/opencv_contrib-3.4.0/modules -D BUILD_EXAMPLES=ON .. # for Python 3 cmake -D CMAKE_BUILD_TYPE=RELEASE -D CMAKE_INSTALL_PREFIX=/usr/local -D BUILD_opencv_python3=ON -D INSTALL_C_EXAMPLES=OFF -D INSTALL_PYTHON_EXAMPLES=ON -D OPENCV_EXTRA_MODULES_PATH=~/opencv_contrib-3.4.0/modules -D BUILD_EXAMPLES=ON .. # compile and install make -j8 sudo make install 注意:此过程可能需要一些时间,请耐心等待。完成后,您可以通过执行以下命令来验证OpenCV是否正确安装: python import cv2 print(cv2.__version__) 如果您看到OpenCV 3.4.0的版本号,则表示已成功安装!希望这可以解决您的问题!

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值