使用VS2015编译opencv3.4.7生成32位的dll和lib

        项目中需要用到C++调用OpenCV,之前使用VS2008和VS2013编译的,不知道为什么总是有错误,使用VS2015编译能够通过,还是要使用最新的工具啊。网上编译好的大都是x64的,但项目中为了方便移植要使用32位的工程生成32位的dll,只能自己编译了。自己总结了下,步骤如下。一些软件和资料自己上传了。可以在下面的链接中下载。

https://download.csdn.net/download/jiajiawozuihao/15907343

链接的压缩包包括如下文件:

1、下载opencv-3.4.7-vc14_vc15.exe并安装,安装后opencv\build下有个x64文件夹,里面是编译好的64位的vc14和vc15所用的库。但为了移植,项目中需要使用32位的库。于是需要自己编译。

2、下载cmake,打开cmake,检索到安装的opencv的源码路径及编译后的工程文件目录。

         点击configure,选择VS2015,win32编译,如下所示,点击Finish后会开始启动编译,编译过程中会联网下载一些包,如果下载失败,可以CMakeDownloadLog.txt文件,查看网络地址,手动上网下载。下载后的文件会保存到源码文件夹下的.cache文件夹中。(我给的链接中也能下载)

         我编译时有下面的一个红色警告:

CMake Warning at cmake/OpenCVDetectPython.cmake:81 (message):
    CMake's 'find_host_package(PythonInterp 2.7)' founds wrong Python version:

         把下面的选项注销掉,再次configure即可。

         如果有其他需要修改的修改后再次configure。

         点击Generate,生成工程成功后,点击open Project,打开工程。

3、打开工程后,选择release,“解决方案”上点击右键,打开配置管理器。选择INSTALL。这样生成解决方案后才会产生lib和dll以及include。

4、在ALL_BUILD上右键,点击生成。

         编译完成后,再点击生成->生成解决方案。

         在工程文件夹中的install文件中就是编译好的include头文件和lib、dll(在x86中)。

5、测试

         新建win32控制台应用程序,把生成的include和x86两个文件夹拷贝到工程中,如下所示。

         因为我生成的lib都是release的,所以使用lib时是在release下用的,如果是debug模式调用,会报opencv_xxxxd.dll找不到。添加dll的路径,否则执行时会说dll找不到。

         添加头文件和库目录的路径。

         添加lib库,包括:

opencv_core347.lib

opencv_calib3d347.lib

opencv_dnn347.lib

opencv_features2d347.lib

opencv_flann347.lib

opencv_highgui347.lib

opencv_imgcodecs347.lib

opencv_imgproc347.lib

opencv_ml347.lib

opencv_objdetect347.lib

opencv_photo347.lib

opencv_shape347.lib

opencv_stitching347.lib

opencv_superres347.lib

opencv_video347.lib

opencv_videoio347.lib

opencv_videostab347.lib

         也可以编译成只有一个lib的,需要在cmake中选择如下:

         或者在编译opencv时在配置管理中选择。实际结果都一样。

6、添加代码如下:

#include "stdafx.h"

#include "opencv2/highgui/highgui.hpp"

#include "opencv2/opencv.hpp"

using namespace cv;

int main()

{

         Mat img = imread("1.jpg", -1), thres_img;

         if (img.empty()) return -1;

         printf("%d, %d\n", img.cols, img.rows);

         namedWindow("Example1", WINDOW_AUTOSIZE);

         imshow("Example1", img);

         threshold(img, thres_img, 128, 255, CV_THRESH_BINARY);  //二值化处理

         imshow("Example2", thres_img);

         waitKey(0);

         destroyAllWindows();

         return 0;

}

         编译启动后,如下所示:

 

 

 

  • 0
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
在arm系统上编译OpenCV3.4.7可能会遇到一些困难,但是只要按照正确的步骤进行,就可以成功地将OpenCV安装在arm系统上。下面是一些步骤: 1.安装交叉编译工具链,这是最重要的步骤。在arm系统上编译OpenCV需要一个具有ARM架构的交叉编译器,可以使用apt-get Install去安装。 2.下载OpenCV3.4.7源码包,并解压到合适的目录下。 3.确定安装目标路径,在此过程中需要安装和编译代码,需确定编译器的路径和目标安装路径以及交叉编译的平台。 4.为了能够正确编译OpenCV,需要在arm系统上安装一些依赖库和开发包,比如 cmake, build-essential, libgtk2.0-dev, pkg-config, libavcodec-dev, libavformat-dev, libswscale-dev ,和libjpeg-dev等等. 5.为了提高编译速度,可以通过将OpenCV安装目录下的CMakeLists.txt文件中的BUILD_opencv_world选项设置为ON,这样就可以将OpenCV编译成一个单独的库。 6.打开终端,进入OpenCV源码目录,在终端中输入以下命令:cmake –DCMAKE_TOOLCHAIN_FILE=toolchain-arm-none-eabi.cmake –DCMAKE_INSTALL_PREFIX=/your/install/path -DWITH_IPP=OFF -DWITH_OPENMP=OFF –DWITH_CUDA=OFF -DBUILD_opencv_world=ON . 7.运行命令make来开始编译,这个过程可能需要一些时间,取决于你的系统和编译器的速度。如果没有错误,就可以使用make install命令把编译好的OpenCV文件复制到指定的目录中了。 总的来说,编译OpenCV3.4.7可能需要一些时间和精力,但如果按照正确的步骤去做,就可以成功地在arm系统上安装OpenCV,从而使用它的各种强大的功能。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值