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

相关文章

SpringCloud动态配置注解@RefreshScope与@Component的深度解析

《SpringCloud动态配置注解@RefreshScope与@Component的深度解析》在现代微服务架构中,动态配置管理是一个关键需求,本文将为大家介绍SpringCloud中相关的注解@Re... 目录引言1. @RefreshScope 的作用与原理1.1 什么是 @RefreshScope1.

opencv图像处理之指纹验证的实现

《opencv图像处理之指纹验证的实现》本文主要介绍了opencv图像处理之指纹验证的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学... 目录一、简介二、具体案例实现1. 图像显示函数2. 指纹验证函数3. 主函数4、运行结果三、总结一、

SpringBoot日志配置SLF4J和Logback的方法实现

《SpringBoot日志配置SLF4J和Logback的方法实现》日志记录是不可或缺的一部分,本文主要介绍了SpringBoot日志配置SLF4J和Logback的方法实现,文中通过示例代码介绍的非... 目录一、前言二、案例一:初识日志三、案例二:使用Lombok输出日志四、案例三:配置Logback一

springboot security之前后端分离配置方式

《springbootsecurity之前后端分离配置方式》:本文主要介绍springbootsecurity之前后端分离配置方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的... 目录前言自定义配置认证失败自定义处理登录相关接口匿名访问前置文章总结前言spring boot secu

一文详解SpringBoot响应压缩功能的配置与优化

《一文详解SpringBoot响应压缩功能的配置与优化》SpringBoot的响应压缩功能基于智能协商机制,需同时满足很多条件,本文主要为大家详细介绍了SpringBoot响应压缩功能的配置与优化,需... 目录一、核心工作机制1.1 自动协商触发条件1.2 压缩处理流程二、配置方案详解2.1 基础YAML

springboot简单集成Security配置的教程

《springboot简单集成Security配置的教程》:本文主要介绍springboot简单集成Security配置的教程,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,... 目录集成Security安全框架引入依赖编写配置类WebSecurityConfig(自定义资源权限规则

SpringBoot中封装Cors自动配置方式

《SpringBoot中封装Cors自动配置方式》:本文主要介绍SpringBoot中封装Cors自动配置方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录SpringBoot封装Cors自动配置背景实现步骤1. 创建 GlobalCorsProperties

Spring Boot结成MyBatis-Plus最全配置指南

《SpringBoot结成MyBatis-Plus最全配置指南》本文主要介绍了SpringBoot结成MyBatis-Plus最全配置指南,包括依赖引入、配置数据源、Mapper扫描、基本CRUD操... 目录前言详细操作一.创建项目并引入相关依赖二.配置数据源信息三.编写相关代码查zsRArly询数据库数

SpringBoot配置Ollama实现本地部署DeepSeek

《SpringBoot配置Ollama实现本地部署DeepSeek》本文主要介绍了在本地环境中使用Ollama配置DeepSeek模型,并在IntelliJIDEA中创建一个Sprin... 目录前言详细步骤一、本地配置DeepSeek二、SpringBoot项目调用本地DeepSeek前言随着人工智能技

python+opencv处理颜色之将目标颜色转换实例代码

《python+opencv处理颜色之将目标颜色转换实例代码》OpenCV是一个的跨平台计算机视觉库,可以运行在Linux、Windows和MacOS操作系统上,:本文主要介绍python+ope... 目录下面是代码+ 效果 + 解释转HSV: 关于颜色总是要转HSV的掩膜再标注总结 目标:将红色的部分滤