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

相关文章

MySQL数据库双机热备的配置方法详解

《MySQL数据库双机热备的配置方法详解》在企业级应用中,数据库的高可用性和数据的安全性是至关重要的,MySQL作为最流行的开源关系型数据库管理系统之一,提供了多种方式来实现高可用性,其中双机热备(M... 目录1. 环境准备1.1 安装mysql1.2 配置MySQL1.2.1 主服务器配置1.2.2 从

一篇文章彻底搞懂macOS如何决定java环境

《一篇文章彻底搞懂macOS如何决定java环境》MacOS作为一个功能强大的操作系统,为开发者提供了丰富的开发工具和框架,下面:本文主要介绍macOS如何决定java环境的相关资料,文中通过代码... 目录方法一:使用 which命令方法二:使用 Java_home工具(Apple 官方推荐)那问题来了,

Nginx搭建前端本地预览环境的完整步骤教学

《Nginx搭建前端本地预览环境的完整步骤教学》这篇文章主要为大家详细介绍了Nginx搭建前端本地预览环境的完整步骤教学,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下... 目录项目目录结构核心配置文件:nginx.conf脚本化操作:nginx.shnpm 脚本集成总结:对前端的意义很多

Linux云服务器手动配置DNS的方法步骤

《Linux云服务器手动配置DNS的方法步骤》在Linux云服务器上手动配置DNS(域名系统)是确保服务器能够正常解析域名的重要步骤,以下是详细的配置方法,包括系统文件的修改和常见问题的解决方案,需要... 目录1. 为什么需要手动配置 DNS?2. 手动配置 DNS 的方法方法 1:修改 /etc/res

mysql8.0.43使用InnoDB Cluster配置主从复制

《mysql8.0.43使用InnoDBCluster配置主从复制》本文主要介绍了mysql8.0.43使用InnoDBCluster配置主从复制,文中通过示例代码介绍的非常详细,对大家的学习或者... 目录1、配置Hosts解析(所有服务器都要执行)2、安装mysql shell(所有服务器都要执行)3、

java程序远程debug原理与配置全过程

《java程序远程debug原理与配置全过程》文章介绍了Java远程调试的JPDA体系,包含JVMTI监控JVM、JDWP传输调试命令、JDI提供调试接口,通过-Xdebug、-Xrunjdwp参数配... 目录背景组成模块间联系IBM对三个模块的详细介绍编程使用总结背景日常工作中,每个程序员都会遇到bu

JDK8(Java Development kit)的安装与配置全过程

《JDK8(JavaDevelopmentkit)的安装与配置全过程》文章简要介绍了Java的核心特点(如跨平台、JVM机制)及JDK/JRE的区别,重点讲解了如何通过配置环境变量(PATH和JA... 目录Java特点JDKJREJDK的下载,安装配置环境变量总结Java特点说起 Java,大家肯定都

linux配置podman阿里云容器镜像加速器详解

《linux配置podman阿里云容器镜像加速器详解》本文指导如何配置Podman使用阿里云容器镜像加速器:登录阿里云获取专属加速地址,修改Podman配置文件并移除https://前缀,最后拉取镜像... 目录1.下载podman2.获取阿里云个人容器镜像加速器地址3.更改podman配置文件4.使用po

Vue3 如何通过json配置生成查询表单

《Vue3如何通过json配置生成查询表单》本文给大家介绍Vue3如何通过json配置生成查询表单,本文结合实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友参考下吧... 目录功能实现背景项目代码案例功能实现背景通过vue3实现后台管理项目一定含有表格功能,通常离不开表单

通过Docker容器部署Python环境的全流程

《通过Docker容器部署Python环境的全流程》在现代化开发流程中,Docker因其轻量化、环境隔离和跨平台一致性的特性,已成为部署Python应用的标准工具,本文将详细演示如何通过Docker容... 目录引言一、docker与python的协同优势二、核心步骤详解三、进阶配置技巧四、生产环境最佳实践