VS2010+OpenCV编译环境环境配置

2024-09-05 07:08

本文主要是介绍VS2010+OpenCV编译环境环境配置,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

_______________________________________________________________________________________________

今天在公司花了一天的时间安装OpenCV,遇到了各种错误,直到现在才安装成功,

趁热打铁,把安装过程记录下来!百度安装过程,各种牛人的教程很多,但是,

我搜索的结果都是版本低,现在官网都是版本3以上,我针对我自己的安装中遇到的

各种问题记录下来!

———————————————————————————————————————————————————----------

第一:版本要一一致

VS使用的是2010,OpenCV使用的是OpenCV3.0.0-alpha.。因为OpenCV安装包里边有对VS版本的要求,在OpenCV子文件夹中,VC10代表是VS2010;VC11代表的是VS2011;VC12代表是VS2013。

注意:从官网的下载的OpenCV-3.2.0-vc14里边只有VC14。具体各个版本之间能不能相互使用,我没有深究。在这里我只是针对VS2010+OpenCV3.0.0-alpha.


第二下载地址

OpenCV3.0.0-alpha下载地址:

http://sourceforge.net/projects/opencvlibrary/files/latest/download?source=top3_dlp_t5


第三环境的配置

 配置系统环境变量:计算机 > 属性 >  高级系统设置 > 环境变量

(1) 首先创建opencv的环境变量, 变量名:OPENCV,  变量值:D:\mysoft\opencv\build (你的opencv解压目录的 build目录)。一定要定位到自己的build文件夹位置,版本的不同,目录结构还是有差别,切记不要按照教材或者网上的资源复制!



2)添加到Path变量。双击 Path, 在变量值末尾添加: %OPENCV%\x86\vc12\bin,

注意:

①在OpenCV子文件夹中,VC10代表是VS2010;VC11代表的是VS2011;VC12代表是VS2013,打算使用哪个版本的VS就把中间进行修改。

②无论是64位还是32位操作系统,都默认使用X86,否则在后边VS中还需要修改。

③:不要把Path中的路径删了,要保留之前的路径,把OpenCV的路径加进去。


第四在VS2010中加入OpenCV

新建一个VS解决方案并且添加一个C文件。如下图所示:


其实OpenCV提供给我们一些.dll文件和头文件,我们需要加入我们的VS工程中,但是这有一个问题,就是我们每次新建一个工程时候,都需要添加一些头文件目录和库目录以及连接的文件,所以我们需要使用VS的一个功能,就是属性资源管理器。在属性管理器中配置好以后,下次我们新建工程后,不需要配置这些繁琐的环境。

属性资源管理器位置:视图>其他窗口>属性管理器


点开属性管理器,点击项目->Debug|Win32->Microsoft.Cpp.Win32.user,如下图所示:



右击,选择最下边的属性,如下图所示:



打开VC++目录,其中标黄的需要修改。

(1)包含的目录添加:$(opencv)\include\opencv2;$(IncludePath);$(opencv)\include\opencv;$(opencv)\include.

注意:

①不要删除本有有的目录,否则就会出现找不到“stdio.h或者iostream”等。如果不笑心删除了,在后边添加$(IncludePath).

②不要复制我的,一定要预览到自己的安装目录下。

(2)库文件添加:$(opencv)\x86\vc10\lib

①不要删除本有有的目录,如果不小心删除,添加:$(LibraryPath)

②不要复制我的,一定要预览到自己的安装目录下。

(3)添加附加依赖项,如下图所示:



 附加依赖项修改为:opencv_ts320d.lib;opencv_world320d.lib

其中opencv_ts320.lib;opencv_world320d.lib是调试版本,如果是发布版本则是:opencv_ts320.lib;opencv_world320.lib


好了,到此所有的配置都完成了。


第五:测试程序

#include<iostream>  
#include <opencv2/core/core.hpp>  
#include <opencv2/highgui/highgui.hpp>  using namespace cv;  int main()  
{  // 读入一张图片(原画)  Mat img=imread("1.jpg");  // 创建一个名为 "原画"窗口  namedWindow("原画");  // 在窗口中显示原画  imshow("原画",img);  // 等待6000 ms后窗口自动关闭  waitKey(6000);  
}  
注意:图片1.jpg放在工程的目录下。




附录:

参考博客

http://blog.163.com/chen_dawn/blog/static/1125063201461695238801/.


后记:

这次配置花了两天的时间,遇到了好多问题,有时候脾气都控制不住了,感觉哪里都有问题,各种问题,每次都是信心满满的,最后还是不行,

不过我每次都提醒自己,这才是万里长征的第一步,这里的困难就解决不了,就不要来学习图像处理了,我觉得以后的算法更难,我相信我自己,

我相信2017我会更加勇敢!我相信2017我会更加坚强!我相信2017我会更加拼!

最后把这个标准测试图像Lenna.故事转载给大家

1973年的六七月份,Alexander Sawchuk,当时是SIPI 电机工程系的助教,正和一研究生、SIPI的实验室主任,在实验室里匆匆忙忙找一幅用于会议论文的图像.而他们早已厌烦了库存里那些乏味的测试图像,他们需要一张人脸的图像.

恰恰就在那时,一人夹着新出的Play boy走了进来.

他们这些工程师拿过杂志,顺手将中间的裸 体 插页的上1/3撕了下来,嘿嘿,正好可以卷在Muirhead扫描仪的复印鼓上...于是这幅512X512的经典就诞生了.一直很困惑为什么大家都选这张美女照片来测试分析,难道有什么特别之处吗?神秘的Lenna到底又是谁呢?直到昨天我找到了答案。美女Lenna的照片源于著名的Play boy杂志。在1973年6月,美国南加州大学的信号图像处理研究所的一个助理教授和他的一个研究生打算为了一个学术会议找一张数字照片,而他们对于手头现有成堆"无聊"照片感到厌烦。事实上他们需要的是一个人脸照片,同时又能让人眼前一亮。这时正好有人走进实验室,手上带着一本当时的Play boy杂志,结果故事发生了... ...而限于当时实验室设备和测试图片的需要,lenna的图片只抠到了原图的肩膀部分。

从那以后,该照片就被广泛应用。漂亮的Play boy女郎Lenna在计算机视觉领域名声大噪,以至于她本人被邀请为嘉宾,参加了数字图像科学技术50周年学术会议。在该会议上,Lenna成了最受欢迎的人之一,她做了关于自己介绍的简要发言,并被无数的fans索取签名。Lenna标准测试图像的由来莱娜图在数字图像处理学习与研究中颇为知名,常被用作数字图像处理各种实验的例图。

该图原本是刊于1972年11月号Play boy杂志上的一张裸体插图照片的一部分,这期Play boy也是历年来最畅销的一期,销量达7,161,561本。1973年6月,美国南加州大学的信号图像处理研究所的一个助理教授和他的一个研究生打算为了一个学术会议找一张数字照片,而他们对于手头现有成堆"无聊"照片感到厌烦。事实上他们需要的是一个人脸照片,同时又能让人眼前一亮。这时正好有人走进实验室,手上带着一本当时的Play boy杂志,结果故事发生了……而限于当时实验室设备和测试图片的需要,lenna的图片只抠到了原图的肩膀部分。

图中人为瑞典模特儿 Lena Soderberg (ne Sj&ouml;&ouml;blom)。现在被广泛使用的英文化名字"Lenna"最初是由Play boy杂志发表此照片时命名的,以方便英语读者近似正确地读出瑞典语中"Lena"的发音。Lena Soderberg 女士现在仍住在她的家乡瑞典,拥有一个有三个孩子的家庭,并且在国家酒类专卖局工作。在1988年的时候,她接受了瑞典一些计算机相关出版社的访问,她对于她的照片有这样的奇遇感到非常的惊奇与兴奋。这是她首次得知她的照片被应用在计算机行业。Lena Soderberg于1997年被邀请为嘉宾,参加了数字图像科学技术50周年学术会议。在该会议上,Lenna成了最受欢迎的人之一,她做了关于自己介绍的简要发言,并被无数的fans索取签名。

莱娜图在图像压缩算法是最广泛应用的标准测试图——她的脸部与裸露的肩部已经变成了事实上的工业标准。然而,这张图像的使用也引起了一些争议。一些人担心它的色情内容;《Play boy》杂志曾经威胁要起诉对莱娜图未经授权的使用。不过这家杂志已经放弃了这种威胁,取而代之的是鼓励因为公众利益使用莱娜图。

戴维·C·蒙森(David C.Munson),IEEE图像处理汇刊(IEEE Transactions on Image Processing)的主编, 在1996年1月引用了两个原因来说明莱娜图在科研领域流行的原因:1.该图适度的混合了细节、平滑区域、阴影和纹理,从而能很好的测试各种图像处理算法。2.Lenna是个美女,对于图象处理界的研究者(大部分都是男性)来说,美女图可以有效的吸引他们来做研究。








这篇关于VS2010+OpenCV编译环境环境配置的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



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

相关文章

最新版IDEA配置 Tomcat的详细过程

《最新版IDEA配置Tomcat的详细过程》本文介绍如何在IDEA中配置Tomcat服务器,并创建Web项目,首先检查Tomcat是否安装完成,然后在IDEA中创建Web项目并添加Web结构,接着,... 目录配置tomcat第一步,先给项目添加Web结构查看端口号配置tomcat    先检查自己的to

Java汇编源码如何查看环境搭建

《Java汇编源码如何查看环境搭建》:本文主要介绍如何在IntelliJIDEA开发环境中搭建字节码和汇编环境,以便更好地进行代码调优和JVM学习,首先,介绍了如何配置IntelliJIDEA以方... 目录一、简介二、在IDEA开发环境中搭建汇编环境2.1 在IDEA中搭建字节码查看环境2.1.1 搭建步

Servlet中配置和使用过滤器的步骤记录

《Servlet中配置和使用过滤器的步骤记录》:本文主要介绍在Servlet中配置和使用过滤器的方法,包括创建过滤器类、配置过滤器以及在Web应用中使用过滤器等步骤,文中通过代码介绍的非常详细,需... 目录创建过滤器类配置过滤器使用过滤器总结在Servlet中配置和使用过滤器主要包括创建过滤器类、配置过滤

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

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

在 VSCode 中配置 C++ 开发环境的详细教程

《在VSCode中配置C++开发环境的详细教程》本文详细介绍了如何在VisualStudioCode(VSCode)中配置C++开发环境,包括安装必要的工具、配置编译器、设置调试环境等步骤,通... 目录如何在 VSCode 中配置 C++ 开发环境:详细教程1. 什么是 VSCode?2. 安装 VSCo

在Spring中配置Quartz的三种方式

《在Spring中配置Quartz的三种方式》SpringQuartz是一个任务调度框架,它允许我们定期执行特定的任务,在Spring中,我们可以通过多种方式来配置Quartz,包括使用​​@Sche... 目录介绍使用 ​​@Scheduled​​ 注解XML 配置Java 配置1. 创建Quartz配置

Kibana的安装和配置全过程

《Kibana的安装和配置全过程》Kibana是一个开源的数据分析和可视化平台,它与Elasticsearch紧密集成,提供了一个直观的Web界面,使您可以快速地搜索、分析和可视化数据,在本文中,我们... 目录Kibana的安装和配置1.安装Java运行环境2.下载Kibana3.解压缩Kibana4.配

tomcat在nginx中的配置方式

《tomcat在nginx中的配置方式》文章介绍了如何在Linux系统上安装和配置Tomcat,并通过Nginx进行代理,首先,下载并解压Tomcat压缩包,然后启动Tomcat并查看日志,接着,配置... 目录一、下载安装tomcat二、启动tomcat三、配置nginx总结提示:文章写完后,目录可以自动

鸿蒙开发搭建flutter适配的开发环境

《鸿蒙开发搭建flutter适配的开发环境》文章详细介绍了在Windows系统上如何创建和运行鸿蒙Flutter项目,包括使用flutterdoctor检测环境、创建项目、编译HAP包以及在真机上运... 目录环境搭建创建运行项目打包项目总结环境搭建1.安装 DevEco Studio NEXT IDE

Zookeeper安装和配置说明

一、Zookeeper的搭建方式 Zookeeper安装方式有三种,单机模式和集群模式以及伪集群模式。 ■ 单机模式:Zookeeper只运行在一台服务器上,适合测试环境; ■ 伪集群模式:就是在一台物理机上运行多个Zookeeper 实例; ■ 集群模式:Zookeeper运行于一个集群上,适合生产环境,这个计算机集群被称为一个“集合体”(ensemble) Zookeeper通过复制来实现