OpenCV3.1.0+VS2013配置+Win7(64位)

2024-06-10 11:58
文章标签 配置 64 win7 vs2013 opencv3.1

本文主要是介绍OpenCV3.1.0+VS2013配置+Win7(64位),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!


    最近需要做图像处理,打算使用的OpenCV,借了一本毛星云、冷雪飞著的《OpenCV3编程入门》,感觉确实不错,讲的很详细,但自己动手搭建的时候,遇到了很多问题,比如目前OpenCV官网最新的版本是OpenCV3.1.0,build里只有x64,但书上写的很详尽:不管是32位还是64位的操作系统,在编译程序的时候一般情况下,都是用的Win32的x86编译器。但书上只强调了,配置为简最好都使用x86版本,却没有给出新版OpenCV3中没有x86的问题解决方法。于是,我一开始编译之后,报错error LNK1112: 模块计算机类型“X86”与目标计算机类型“x64”冲突 F:\VS2013 OpenCV3\HelloOpenCV\HelloOpenCV\Debug\HelloOpenCV.obj。自己很着急不知道该怎么办。反复查看了几个地方,都改成了x64.。。。。。不知道如何解决这个问题。

    终于,在网上找到一个讲解非常详细的链接:http://www.th7.cn/Program/cp/201603/773871.shtml,顺利解决了困扰我的问题,非常开心,感谢原作者。特此转载内容如下:


更换了硬盘之后,重新配置了一次OpenCV,这次在下载的时候,发现有OpenCV3.1.0版本了,所以我就下载了截止到目前为止最新的版本进行配置。

        PS我之前使用的是,OpenCV3.0.0+VS2013。具体的配置可以参考一下两个链接:

        http://blog.csdn.net/hyichao_csdn/article/details/41723825

       http://jingyan.baidu.com/article/64d05a0245aa70de55f73b12.html

         虽然配置 OpenCV 不是一件很繁琐的事情,但是因为不是很了解每一步的作用,所以有时候一不小心就会出错。下面就跟大家分享一下我配置的方法以及一些技巧。

        在这之前,像做饭一样,我们得先准备好材料:

        VS2013+OpenCV3.1.0

        OpenCV3.1.0可以到OpenCV的官网上面下载:

       http://opencv.org/

        

        下载完成后,得到的是一个.exe

        

        接着运行它即可得到我们需要的文件夹。


-------------------------------------------------------上面是一些准备工作,下面正式开始-----------------------------------------------------


        我想介绍两种方法,前一种比较low,每次使用VS新建一个工程时,需要重新配置;后一种效率比较高,每次使用VS的时候只需要添加现有的属性表(不清楚属性表是什么没关系哈,耐心往下看)即可,本文有一些截图过于细节,目的是为了方便初次配置的朋友,之前配置过的朋友可以跳着看哈。

(一)先来介绍第一种方法。

       1、配置环境变量。

        我的电脑(右键)——属性——高级系统设置——环境变量——Path(双击)

        

        在原有的Path后面加上分号;然后加上D:/Work_Software/OpenCV3.1/opencv/build/x64/vc12/bin


        注意加上的路径是你的电脑上build/x64/vc12/bin所对应的路径,不要照搬我上面的路径。
        再注意最后不用加分号,分号只加在路径之间,而且切忌将原来的Path都删除!!!
        PS:这个bin文件夹是什么来头呢?里面有一些dll文件,也就是动态链接库,可以理解成是opencv里面用到的函数的实现。

        (初次配置OpenCV的朋友可以忽略此括号中的话,PS:配置过3.1.0之前版本的朋友会发现,3.1.0版本中build文件夹中只有x64文件夹,而没有了x86文件夹。也就是说,在配置3.1.0版本之后,使用VS进行OpenCV相关的编程的时候,只能使用64位的编译器,而不能使用32位的编译器了。这与之前版本有所不同,之前是,32位系统只能使用32位的编译器,而64位的系统可以使用32位或者64位的编译器。这个是我自己琢磨出来的,如果有错误的地方,欢迎指正。)
        好了,到这里,环境变量就配置完成了,有的说法是,环境变量配置完成后需要重启一下电脑才能生效,这个没有亲测过,保险起见的话可以重启一下,顺便放松一下眼睛~~~~


       2VS中的配置。

        (1)首先,打开VS2013并新建工程如下:




        (2)接着,在源文件处新建一个main.cpp文件如下:



        这样就完成了新建工程的任务,接下来就要对我们新建的工程进行设置了。下面才是关键:

        3)将32位编译器Win32改为64位编译器x64,操作如下图:




        4)接下来,对工程test1进行设置,总共有三个东西需要设置:包含目录”“库目录以及附属依赖项,一个一个来。

          第一,编辑包含目录如下:





        选择build文件夹中的include文件夹操作如下:


        设置好包含目录之后,我们后面的使用中就可以在我们程序的开头将与OpenCV有关的头文件通过“#include<opencv2/opencv.hpp>”这样的方式包含进来了。

        PS:有的教程不仅仅将include文件夹的路径添加到包含目录中,而且将include文件夹中opencvopencv2这两个文件夹的路径也添加到包含目录中了。这一步可有可无,区别在于,如果我将opencv2文件夹的路径也添加到包含目录中,那么我在我的程序开头就可以将上面说到的“#include<opencv2/opencv.hpp>”改写成“#include<opencv.hpp>”,编译器可以自己跑到opencv2文件夹中查找。

        第二,编辑库目录,类似于编辑包含目录,将/build/x64/vc12/lib的路径添加到库目录中如下图(容易知道,lib也就是library库的缩写):


        第三,添加附属依赖项如下:



        需要注意的是,我们这里添加的附属依赖项是以“d”结尾的,也即是Debug模式的,如实想用Release模式的话,则将上面的“opencv_world310d.lib”改为“opencv_world310.lib”即可。

        配置过之前版本的朋友会发现,以前2点几版本的OpenCV需要添加一大堆的附属依赖项,到了3.0的时候仅仅需要两个.lib,到了3.1.0的时候,就只剩下一个了!!!

        好了,到此为止,第一种方法就介绍完了,只要在新建的main.cpp文件中运行一下下面的测试代码:

#include<opencv2/opencv.hpp>

using namespace cv;

int main()

{

Matpicture = imread("F://My_Desktop//1st//no_phone//1.jpg");

imshow("测试程序", picture);

waitKey(0);

}

        就可以欣赏到我们自己的劳动成果啦!imread后面的路径是所要显示的照片的路径,这里使用了“//”而不是“/”是因为“/”C++中有转义的作用,所以要用两个“/”“//”

       当然在前面也说到了,用这种方法的缺点是每次使用VS新建一个工程的时候,都要重复上面的21-24)。所以,下面我将要介绍第二种方法!


---------------------------------------------------------第二种方法-----------------------------------------------------------------


(二)第二种方法。

        1、配置环境变量。同上面的方法一样,如果在使用方法一的时候已经配置过了,那么这一步可以跳过。

        2VS中的配置。

        1)、(2)同(一)21-2

       3)添加新项目属性表。

       打开属性管理器:


        这时候出现的窗口是下面这样的,这是使用32位编译器的情况,如上面说到的,我们要将编译器改为64位的:


        这时候需要打开配置管理器,新建x64





        这样操作之后,属性管理器窗口多出了两个东西如下:


       接下来在Debug|x64或者Relase|x64右键(这里以Debug为例):


         添加属性表,名称改成一个方便自己记忆的名字,我这里用的是 opencv_3.1.props


        接着,在我们新添加的属性表处右键选择属性:


        然后就得到了一个很亲切的窗口,没错,这个在上面出现过,设置的过程也跟上面一样。按照上面的(一)24)所说的方法设置好包含目录”“库目录以及附属依赖项”。


        好了,当你设置好点下确定之后,你同样可以在main.cpp中输入(一)中给出的测试程序,运行即可。

       下面是重点,当你下一次再打开VS新建工程的时候,你需要做的仅仅是下面的事情:

       第一步:新建工程;

       第二步:打开配置管理器(上面有说到如何打开),将Win32改为x64

       第三步:在属性管理器中,添加现有属性表,将上面制作好的opencv_3.1.props添加进来如下图所示。


        这样就大功告成啦!!!接着在新建的main.cpp文件中就可以编程了,如果你不嫌烦的话,可以在试一下上面的测试程序。


        谢谢你耐心看完它,希望能对你有所帮助!

这篇关于OpenCV3.1.0+VS2013配置+Win7(64位)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!


原文地址:
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.chinasem.cn/article/1048104

相关文章

Nacos注册中心和配置中心的底层原理全面解读

《Nacos注册中心和配置中心的底层原理全面解读》:本文主要介绍Nacos注册中心和配置中心的底层原理的全面解读,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录临时实例和永久实例为什么 Nacos 要将服务实例分为临时实例和永久实例?1.x 版本和2.x版本的区别

如何搭建并配置HTTPD文件服务及访问权限控制

《如何搭建并配置HTTPD文件服务及访问权限控制》:本文主要介绍如何搭建并配置HTTPD文件服务及访问权限控制的问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录一、安装HTTPD服务二、HTTPD服务目录结构三、配置修改四、服务启动五、基于用户访问权限控制六、

CentOS 7 YUM源配置错误的解决方法

《CentOS7YUM源配置错误的解决方法》在使用虚拟机安装CentOS7系统时,我们可能会遇到YUM源配置错误的问题,导致无法正常下载软件包,为了解决这个问题,我们可以替换YUM源... 目录一、备份原有的 YUM 源配置文件二、选择并配置新的 YUM 源三、清理旧的缓存并重建新的缓存四、验证 YUM 源

Windows 系统下 Nginx 的配置步骤详解

《Windows系统下Nginx的配置步骤详解》Nginx是一款功能强大的软件,在互联网领域有广泛应用,简单来说,它就像一个聪明的交通指挥员,能让网站运行得更高效、更稳定,:本文主要介绍W... 目录一、为什么要用 Nginx二、Windows 系统下 Nginx 的配置步骤1. 下载 Nginx2. 解压

VS配置好Qt环境之后但无法打开ui界面的问题解决

《VS配置好Qt环境之后但无法打开ui界面的问题解决》本文主要介绍了VS配置好Qt环境之后但无法打开ui界面的问题解决,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要... 目UKeLvb录找到Qt安装目录中designer.UKeLvBexe的路径找到vs中的解决方案资源

windows系统上如何进行maven安装和配置方式

《windows系统上如何进行maven安装和配置方式》:本文主要介绍windows系统上如何进行maven安装和配置方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不... 目录1. Maven 简介2. maven的下载与安装2.1 下载 Maven2.2 Maven安装2.

Apache 高级配置实战之从连接保持到日志分析的完整指南

《Apache高级配置实战之从连接保持到日志分析的完整指南》本文带你从连接保持优化开始,一路走到访问控制和日志管理,最后用AWStats来分析网站数据,对Apache配置日志分析相关知识感兴趣的朋友... 目录Apache 高级配置实战:从连接保持到日志分析的完整指南前言 一、Apache 连接保持 - 性

MySQL 安装配置超完整教程

《MySQL安装配置超完整教程》MySQL是一款广泛使用的开源关系型数据库管理系统(RDBMS),由瑞典MySQLAB公司开发,目前属于Oracle公司旗下产品,:本文主要介绍MySQL安装配置... 目录一、mysql 简介二、下载 MySQL三、安装 MySQL四、配置环境变量五、配置 MySQL5.1

mybatis的mapper对应的xml写法及配置详解

《mybatis的mapper对应的xml写法及配置详解》这篇文章给大家介绍mybatis的mapper对应的xml写法及配置详解,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,... 目录前置mapper 对应 XML 基础配置mapper 对应 xml 复杂配置Mapper 中的相

Spring Security介绍及配置实现代码

《SpringSecurity介绍及配置实现代码》SpringSecurity是一个功能强大的Java安全框架,它提供了全面的安全认证(Authentication)和授权(Authorizatio... 目录简介Spring Security配置配置实现代码简介Spring Security是一个功能强