在官网中并没有给出opencv3.1.0版本的32位的库(lib),但最近在做一个项目,对方要求32位的opencv,所以在这里写一个编译32位的opencv动态库,并且给出vs2015配置32位opencv动态库的过程,最后以一个读取图片的小示例做一个结尾。

下载地址

Cmake官网下载地址:CMAKE OpenCV3.1.0官方下载地址:OpenCV3_1_0 VS2015官方下载地址:VS2015

编译opencv3.1.0的32位动态库

解压OpenCV3.1.0后发现build目录下只有X64




opencv32位通过指针遍历 opencv 32位_下载地址

因此我们需要来编译X64位。

安装Cmake

我们在这里下载的是msi版本:



opencv32位通过指针遍历 opencv 32位_下载地址_02


然后安装Cmake,我是一路默认安装。

编译32位OpenCV

如下图所示,填入相应目录的Source(Where is the source code),以及想放入项目的位置(Where to build the )。然后点击Configure!会弹出如下的窗口,在此我们选择Visual Studio 14 2015,最后点击Finish



opencv32位通过指针遍历 opencv 32位_OpenCV_03


~~~~~~划重点
首先勾线 BUILD_opencv_world ,这个让动态库的lib减少只需要的world以及ts两个,非常有用。



opencv32位通过指针遍历 opencv 32位_opencv32位通过指针遍历_04


如果编译动态库,不需要去掉BUILD_SHARED_LIBS,(如果是静态库,请去掉勾选)



opencv32位通过指针遍历 opencv 32位_下载地址_05


然后点两次 Generate 。随机编译完成:



opencv32位通过指针遍历 opencv 32位_动态库_06


注:我碰到的问题,在编译的时候,卡死在opencv_ffmpeg,后来在编译的时候,我用了FQ。

用vs2015重新编译

在项目生成的地方,打开:OpenCV.sln



opencv32位通过指针遍历 opencv 32位_opencv32位通过指针遍历_07


选择vs2015的 生成 -> 批生成



opencv32位通过指针遍历 opencv 32位_OpenCV_08


勾选INSTALLDEBUG以及RELEASE,再点击生成



opencv32位通过指针遍历 opencv 32位_下载地址_09


经过漫长的等待,我们就有了可以使用的动态库,(Release以及Debug32位版本)



opencv32位通过指针遍历 opencv 32位_动态库_10


vs2015配置刚刚生成的32位opencv的动态库

首先、在环境变量的Path中添加刚刚编译好的32位的环境



opencv32位通过指针遍历 opencv 32位_OpenCV_11


在VS2015新建一个空的项目,打开属性管理器(视图->其他窗口->属性管理器),添加了一个新项目属性表



opencv32位通过指针遍历 opencv 32位_opencv32位通过指针遍历_12


打开添加的属性,在 通用属性 下的 VC++目录 中的包含目录中添加include和其下的两个目录



opencv32位通过指针遍历 opencv 32位_动态库_13


再打开VS++目录中的库目录,添加如下的库目录



opencv32位通过指针遍历 opencv 32位_下载地址_14

最后、打开链接器->输入-> 附加依赖项,添加如下两个调试依赖项


opencv32位通过指针遍历 opencv 32位_OpenCV_15

至此、所有的配置都已经完成

示例

以一个示例作为编译+配置的结尾:

#include<opencv2\opencv.hpp>
using namespace cv;

int main()
{
	Mat image = imread("0.jpg");
	imshow("text", image);
	waitKey(0);
	return 0;
}

结果如下所示



opencv32位通过指针遍历 opencv 32位_下载地址_16