Opencv3.0+opencv_contrib_lib +VS2013(编译)+CMake-gui(最近的版本都可以)

2024-08-30 01:58

本文主要是介绍Opencv3.0+opencv_contrib_lib +VS2013(编译)+CMake-gui(最近的版本都可以),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

0.前言

这里将的是将opencv3.0用vs2013重新编译的过程,目的是为了能够应用到opencv_contrib_lib库中点代码。!!可能有的人还不知道什么是opencv_contrib_lib?

在opencv3.0.0版本中,整体的架构发生了变化,变成了:Core(核心代码)+Plugin(外部插件)。其中Core(核心代码)中的代码都是官方经过很多的测试,可以确保能够稳定运行的代码!!!!而对于Plugin(外部插件)代码,是一些新的算法,因为OpenCV是开源的,所以有点新算法只经过了个人的测试就会上传并Merge到opencv_contrib_lib库中,这个库中囊括了一些新的算法,比如,文本识别,TLD 还有其他一些比较新的算法。当然,这些算法可能会有这样或那样的Bug,但是我觉得还是很有必要使用的。


1.需要准备的东西

opencv3.0源码Windows版:http://opencv.org/

opencv_contrib_lib版:https://github.com/itseez/opencv_contrib点击此处下载源码

cmake-gui(2.8.10):http://www.cmake.org/download/

VS2013:http://www.xiazaiba.com/html/24543.html    这个软件和破解就非常多了

ippcv:这个是Intel对opencv的加速支持,如果用cmake重新编译的话,就会需要下载这个,如果不手动下载就会提示:CMake Error at 3rdparty/ippicv/downloader.cmake:97 (message):
  ICV: Failed to unpack ICV package from D:/Program
  Files/opencv/sources/3rdparty/ippicv/downloads/windows-b59f865d1ba16e8c84124e19d78eec57/ippicv_windows_20141027.zip

解决办法:

(1)手动下载ippicv_windows_20141027.zip

下载网址在这里:

http://osdn.jp/projects/sfnet_opencvlibrary/downloads/3rdparty/ippicv/ippicv_windows_20141027.zip/

2将上面的ZIP文件放在OpenCV-3.0.0的目录下面:

D:\OpenCV300\opencv\sources\3rdparty\ippicv\downloads\windows-b59f865d1ba16e8c84124e19d78eec57


2.CMake编译:

1)在开始菜单中启动CMake

2)启动以后的界面是这样的:

①:在这一栏输入opencv3.0.0的source的路径

②:在这一栏输入要把opencv3.0.0重新编译到哪个目录的文件夹里

③:然后点击configure。

3)Configure之后会出现下面的窗口让你选择编译器:

④:这里选择VS2013

⑤:默认的编译器

⑥:点击Finish 完成配置

4)然后会出现很多红的选项:


⑦:在Search栏中输入:OPENCV_EXTRA_MODULES_PATH (虽然我只输入了OPENCV_EXTRA~.~)

⑧:将这个值的Vaule 设置成:如上图所示,opencv_contrib的modules目录下(github下载下来的文件应该是opencv_contrib_master)。

然后再点击一次Configure。

⑨:现在红色框应该是没了

⑩:然后再点一次Configure

⑪:然后点Generate


上面这些都做完以后CMake的工作就结束啦,可以关掉它了。

3.VS2013编译opencv

rebuild以后会在rebuild目录里面会有这两个东西,点开OpenCV.sln即VS的工程文件,然后在项目管理器中找到,将鼠标悬停在上面。

    分别Debug和Release模式下生成解决方案。然后在INSTALL上->右键->生成。这样就把rebuild之后的lib和bin文件都写到install文件夹里面了

最后就是把bin、lib、include添加到VS的环境中。

    注意:bin、lib、include一定都是rebuild\install下的

1)include的路径

2)bin、lib的路径

4.结语   

至此opencv3.0的重新编译并且把contribute库编译进来的教程就基本结束了,第一次写这么长的博客有什么不妥的地方还望多多





这篇关于Opencv3.0+opencv_contrib_lib +VS2013(编译)+CMake-gui(最近的版本都可以)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1119481

相关文章

Java中的Opencv简介与开发环境部署方法

《Java中的Opencv简介与开发环境部署方法》OpenCV是一个开源的计算机视觉和图像处理库,提供了丰富的图像处理算法和工具,它支持多种图像处理和计算机视觉算法,可以用于物体识别与跟踪、图像分割与... 目录1.Opencv简介Opencv的应用2.Java使用OpenCV进行图像操作opencv安装j

Debian如何查看系统版本? 7种轻松查看Debian版本信息的实用方法

《Debian如何查看系统版本?7种轻松查看Debian版本信息的实用方法》Debian是一个广泛使用的Linux发行版,用户有时需要查看其版本信息以进行系统管理、故障排除或兼容性检查,在Debia... 作为最受欢迎的 linux 发行版之一,Debian 的版本信息在日常使用和系统维护中起着至关重要的作

opencv实现像素统计的示例代码

《opencv实现像素统计的示例代码》本文介绍了OpenCV中统计图像像素信息的常用方法和函数,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一... 目录1. 统计像素值的基本信息2. 统计像素值的直方图3. 统计像素值的总和4. 统计非零像素的数量

你的华为手机升级了吗? 鸿蒙NEXT多连推5.0.123版本变化颇多

《你的华为手机升级了吗?鸿蒙NEXT多连推5.0.123版本变化颇多》现在的手机系统更新可不仅仅是修修补补那么简单了,华为手机的鸿蒙系统最近可是动作频频,给用户们带来了不少惊喜... 为了让用户的使用体验变得很好,华为手机不仅发布了一系列给力的新机,还在操作系统方面进行了疯狂的发力。尤其是近期,不仅鸿蒙O

什么是 Ubuntu LTS?Ubuntu LTS和普通版本区别对比

《什么是UbuntuLTS?UbuntuLTS和普通版本区别对比》UbuntuLTS是Ubuntu操作系统的一个特殊版本,旨在提供更长时间的支持和稳定性,与常规的Ubuntu版本相比,LTS版... 如果你正打算安装 Ubuntu 系统,可能会被「LTS 版本」和「普通版本」给搞得一头雾水吧?尤其是对于刚入

windows端python版本管理工具pyenv-win安装使用

《windows端python版本管理工具pyenv-win安装使用》:本文主要介绍如何通过git方式下载和配置pyenv-win,包括下载、克隆仓库、配置环境变量等步骤,同时还详细介绍了如何使用... 目录pyenv-win 下载配置环境变量使用 pyenv-win 管理 python 版本一、安装 和

使用opencv优化图片(画面变清晰)

文章目录 需求影响照片清晰度的因素 实现降噪测试代码 锐化空间锐化Unsharp Masking频率域锐化对比测试 对比度增强常用算法对比测试 需求 对图像进行优化,使其看起来更清晰,同时保持尺寸不变,通常涉及到图像处理技术如锐化、降噪、对比度增强等 影响照片清晰度的因素 影响照片清晰度的因素有很多,主要可以从以下几个方面来分析 1. 拍摄设备 相机传感器:相机传

poj1330(LCA最近公共祖先)

题意:求最近公共祖先 思路:之前学习了树链剖分,然后我就用树链剖分的一小部分知识就可以解这个题目了,记录每个结点的fa和depth。然后查找时,每次将depth大的结点往上走直到x = y。 代码如下: #include<iostream>#include<algorithm>#include<stdio.h>#include<math.h>#include<cstring>

Android实现任意版本设置默认的锁屏壁纸和桌面壁纸(两张壁纸可不一致)

客户有些需求需要设置默认壁纸和锁屏壁纸  在默认情况下 这两个壁纸是相同的  如果需要默认的锁屏壁纸和桌面壁纸不一样 需要额外修改 Android13实现 替换默认桌面壁纸: 将图片文件替换frameworks/base/core/res/res/drawable-nodpi/default_wallpaper.*  (注意不能是bmp格式) 替换默认锁屏壁纸: 将图片资源放入vendo

Java 创建图形用户界面(GUI)入门指南(Swing库 JFrame 类)概述

概述 基本概念 Java Swing 的架构 Java Swing 是一个为 Java 设计的 GUI 工具包,是 JAVA 基础类的一部分,基于 Java AWT 构建,提供了一系列轻量级、可定制的图形用户界面(GUI)组件。 与 AWT 相比,Swing 提供了许多比 AWT 更好的屏幕显示元素,更加灵活和可定制,具有更好的跨平台性能。 组件和容器 Java Swing 提供了许多