Win7上编译OpenCV3.2与扩展模块

简介: 一:准备前几天在写代码的时候发现周围有人都换到了OpenCV3.2上面去啦,我当时就把OpenCV3.1包给删啦,立马下载OpenCV3.2,下载地址在这 里:http://opencv.org/opencv-3-2.html。

一:准备

前几天在写代码的时候发现周围有人都换到了OpenCV3.2上面去啦,我当时就把OpenCV3.1包给删啦,立马下载OpenCV3.2,下载地址在这
里:http://opencv.org/opencv-3-2.html
选择Windows自解压的那个连接点击进去即可下载OpenCV3.2的Windows版本。下载以后解压缩到指定目录即可。

扩展模块下载地址
https://github.com/opencv/opencv_contrib
同样下载好之后先解压缩到指定目录即可。

然后就可以下载CMake了,我用的是CMake3.7.2这个版本,貌似不是最新版本,大家可以下载最新版本。下载安装好了之后就可以开始编译了。

二:编译OpenCV3.2

说一下机器环境 Win764位 + VS2015。
首先要打开CMake GUI然后设置好源代码路径与编译路径,显示如下:
这里写图片描述

点击【configure】之后会弹出对话框,让你选择编译的位数与版本,记得一定选择VS2015 + Win64的,(当然要根据实际情况来),选择好啦显示如下:
这里写图片描述

点击【Finish】就会开始配置编译,如果一切顺利就会看到如下界面
这里写图片描述

在一堆红色区域的Name列对应有一个是设置扩展模块路径的额,看下图的蓝色矩形框,选择设置好即可。
这里写图片描述

设置好OpenCV扩展模块的路径之后再次点击【configure】按钮。如果一切正常结束之后再点击【generate】按钮。结束之后CMake就编译好啦。显然如下图:
这里写图片描述

然后在设置的编译路径上D:\opencv3.2\opencv\newbuild目录里面会有个OpenCV.sln文件,双击就可以在VS2015中打开找到
-CMakeTargets->INSTALL右键在弹出的菜单中选择生成即可
这里写图片描述

如果一切OK,就会生成install目录,以我本机的目录结构为例
D:\opencv3.2\opencv\newbuild\install
点击进去,配置好VS2015之后即可使用。
上面说的是理论应该这样顺利,但是实际不是这么回事情。

几个要注意坑

坑一:
CMake的时候报Download错误与MD5文件校验错误,愿意是因为OpenCV3.2中会去下载谷歌的protobuff和TensorFlow相关第三方程序,结果下载不了,网络就挂啦!原因是OpenCV3.2集成了深度学习框架TensorFlow相关的接口。

坑二
找不到ippicvmt.lib,我也不知道怎么会事情,OpenCV3.2居然没有它编译放到install/lib里面去,而是在第三方的那个目录下面lib里面,所以我手动copy了放到一起。

坑三
我在正常配置之后,在Tracking模块中发现selectROI函数居然用不了,搞了半天,是因为tracking.hpp居然没有把它作为头文件包含进来,这个跟OpenCV3.2的教程上有点不一致。所以我手动包含了一下。最终我的OpenCV3.2+VS2015的配置搞好啦!

测试程序运行结果:

这里写图片描述

目录
相关文章
|
23天前
|
并行计算 算法 Java
cmake+vs2019编译OpenCV
cmake+vs2019编译OpenCV
29 0
|
2月前
|
Ubuntu 编译器 计算机视觉
Ubuntu系统下编译OpenCV4.8源码
在Ubuntu上源码安装OpenCV 4.8分为三步:1) 下载源码包,使用`wget`命令;2) 安装依赖,如`g++`, `cmake`, `make`等;3) 创建编译目录,运行`cmake`配置,接着`make`编译,最后`sudo make install`安装。安装完成后,通过编写和运行一个简单的OpenCV C++程序来验证环境配置正确性。
86 10
|
2月前
|
计算机视觉 iOS开发 C++
【OpenCV】在MacOS上源码编译OpenCV
【7月更文挑战第9天】在MacOS上源码编译OpenCV需分步进行: 1. 准备工作: 安装Xcode, Command Line Tools及依赖如CMake, Homebrew. 2. 获取OpenCV源码: 从官网下载并解压所需版本. 3. 编译OpenCV. 4. 安装OpenCV: 编译后使用`sudo make install`进行安装. 5. 验证安装: 编写简单C++程序测试OpenCV功能, 如读取并显示图片.
|
3月前
|
机器学习/深度学习 并行计算 计算机视觉
【入坑指南】| OpenCV4.8 + CUDA + 扩展模块支持编译
【入坑指南】| OpenCV4.8 + CUDA + 扩展模块支持编译
408 0
|
3月前
|
机器学习/深度学习 TensorFlow 算法框架/工具
Win7上编译OpenCV3.2与扩展模块
Win7上编译OpenCV3.2与扩展模块
35 0
|
3月前
|
计算机视觉 C++ Windows
OpenCV 3.1.0编译与添加扩展模块
OpenCV 3.1.0编译与添加扩展模块
59 0
|
13天前
|
算法 计算机视觉
opencv图像形态学
图像形态学是一种基于数学形态学的图像处理技术,它主要用于分析和修改图像的形状和结构。
29 4
|
23天前
|
算法 计算机视觉 Python
python利用opencv进行相机标定获取参数,并根据畸变参数修正图像附有全部代码(流畅无痛版)
该文章详细介绍了使用Python和OpenCV进行相机标定以获取畸变参数,并提供了修正图像畸变的全部代码,包括生成棋盘图、拍摄标定图像、标定过程和畸变矫正等步骤。
python利用opencv进行相机标定获取参数,并根据畸变参数修正图像附有全部代码(流畅无痛版)
WK
|
21天前
|
编解码 计算机视觉 Python
如何在OpenCV中进行图像转换
在OpenCV中,图像转换涉及颜色空间变换、大小调整及类型转换等操作。常用函数如`cvtColor`可实现BGR到RGB、灰度图或HSV的转换;`resize`则用于调整图像分辨率。此外,通过`astype`或`convertScaleAbs`可改变图像数据类型。对于复杂的几何变换,如仿射或透视变换,则可利用`warpAffine`和`warpPerspective`函数实现。这些技术为图像处理提供了强大的工具。
WK
51 1
|
1月前
|
机器人 计算机视觉
巧用 OpenCV solvePnP() 函数完成由图像坐标系到机器人坐标系的转换(二维坐标系之间的转换)
巧用 OpenCV solvePnP() 函数完成由图像坐标系到机器人坐标系的转换(二维坐标系之间的转换)
38 2