VC 2010下安装OpenCV2.4.4

说明:

  1. 安装平台:32位XP,VS2010;
  2. OpenCV 2.4.4不支持VC 6.0;
  3. 网上有很多用CMake编译OpenCV的安装教程,这里建议先不要自己编译,如果使用预编译好的库有问题,再尝试自己编译。
  4. 希望大家好好看看每一部分的注意事项,看懂了再去配置,不然错了,还不知道错在哪里。尤其要注意自己的操作系统的位数,还有相应的路径。

目录

 [隐藏]
  • 1 一、下载OpenCV
  • 2 二、设置环境变量
    • 2.1 用户变量设置
      • 2.1.1 设置PATH
      • 2.1.2 新建OpenCV变量
    • 2.2 系统变量设置
      • 2.2.1 设置PATH
  • 3 三、配置VS2010
    • 3.1 准备工作
    • 3.2 配置VC10
  • 4 四、测试程序
    • 4.1 4.1、程序代码
    • 4.2 4.2、运行结果
      • 4.2.1 4.2.1、Debug下的运行结果
      • 4.2.2 4.2.2、Release下的运行结果
  • 5 作者

 

[编辑]

一、下载OpenCV

  1. 从本站下载栏目 http://www.opencv.org.cn/index.php/Download 下载 OpenCV for Windows(也即 OpenCV-2.4.4.exe 文件)。
  2. 将 OpenCV-2.4.4.exe 解压并放到某个目录下,例如 C:\Program Files\OpenCV244 (本人的解压目录)。解压后的目录结构如下图。

Image:001.jpg

[编辑]

二、设置环境变量

右键单击我的电脑→属性→高级→环境变量。

Image:002.jpg

[编辑]

用户变量设置

[编辑]

设置PATH

选中PATH,单击编辑。在PATH的末尾添加以下路径:C:\Program Files\OpenCV244\opencv\build\x86\vc10\bin
     注意:1、要在该路径前添加英文分号;,以与前面的路径隔开,但该路径末尾不可加英文分号;,除非还要在其后添加路径;2、可根据自己的情况,将其改为你的opencv\build\x86\vc10\bin文件夹所在的路径;3、如果是64位系统,可将opencv\build\x86\vc10\bin改为opencv\build\x64\vc10\bin
Image:003.jpg
[编辑]

新建OpenCV变量

单击新建,在弹出的对话框中,将变量名和变量值分别设置为OpenCV和C:\Program Files\OpenCV244\opencv\build
     注意:1、变量名可以自己定义;2、变量值可修改为你的opencv\build文件夹所在的路径。
Image:004.jpg
Image:005.jpg
[编辑]

系统变量设置

[编辑]

设置PATH

选中PATH,单击编辑。在PATH的末尾添加以下路径:C:\Program Files\OpenCV244\opencv\build\x86\vc10\bin
     注意:1、要在该路径前添加英文分号;,以与前面的路径隔开,但该路径末尾不可加英文分号;,除非还要在其后添加路径;2、可根据自己的情况,将其改为你的opencv\build\x86\vc10\bin文件夹所在的路径;3、如果是64位系统,可将opencv\build\x86\vc10\bin改为opencv\build\x64\vc10\bin。
Image:006.jpg
说明:设置完环境变量,需要重启电脑,才能生效。
[编辑]

三、配置VS2010

配置VS2010,亦即告诉VC去什么地方寻找OpenCV的头文件和库。打开VS2010,选择菜单“工具”→“选项”→“项目和解决方案”→“VC++目录”,在VS2010中打开此选项,如下图所示,显示编辑功能被否决。

Image:007.jpg

可以在具体的项目中,对特定的项目单击右键→属性来设置,只是这样的设置无法被继承,每一个项目都需要单独设置,太过繁琐,因此需要一个能够被继承的全局设置,方法如下:
要求:确保VS2010中至少有一个工程被打开。这里采用新建一个工程的办法,以便后面测试程序。
[编辑]

准备工作

1、打开VS2010,新建项目→win32控制台项目→完成。
Image:008.jpg
Image:009.jpg
Image:010.jpg
2、点击“视图”→“其他窗口”→“属性管理器”,结果如下图所示。
Image:011.jpg
[编辑]

配置VC10

1、从左侧项目中打开“Debug| Win32”→“Microsoft.Cpp.Win32.user”,如下图所示。
Image:012.jpg
2、双击“Microsoft.Cpp.Win32.user”,弹出如下图所示的窗口。
Image:013.jpg
3、点击左侧VC++目录,编辑右侧的可执行文件目录、包含目录与库目录,分别添加对应的路径。
Image:014.jpg
对应的路径如下:
1)可执行文件目录
C:\Program Files\OpenCV244\opencv\build\x86\vc10\bin
    说明:1、可根据自己的情况,将其改为你的opencv\build\x86\vc10\bin文件夹所在的路径;2、如果是64位系统,可将opencv\build\x86\vc10\bin改为opencv\build\x64\vc10\bin。
2)包含目录
C:\Program Files\OpenCV244\opencv\build\include
C:\Program Files\OpenCV244\opencv\build\include\opencv
C:\Program Files\OpenCV244\opencv\build\include\opencv2
    说明:1、可根据自己的情况,将其分别改为你的opencv\build\include、opencv\build\include\opencv和opencv\build\include\opencv2文件夹所在的路径;2、这里的include目录为build文件夹下的include目录,不要选成与build文件夹在同一个根目录下的那个include文件夹。
3)库目录
C:\Program Files\OpenCV244\opencv\build\x86\vc10\lib
    说明:1、可根据自己的情况,将其改为你的opencv\build\x86\vc10\lib文件夹所在的路径;2、如果是64位系统,可将opencv\build\x86\vc10\lib改为opencv\build\x64\vc10\lib。
4、附加依赖项
单击“链接器”→“输入”→“附加依赖项”,如下图所示。
Image:015.jpg
如下图所示,在附加依赖项里,添加opencv\build\x86\vc10\lib文件夹里的lib文件名称:
Image:016.jpg
opencv_calib3d244d.lib
opencv_contrib244d.lib
opencv_core244d.lib
opencv_features2d244d.lib
opencv_flann244d.lib
opencv_gpu244d.lib
opencv_highgui244d.lib
opencv_imgproc244d.lib
opencv_legacy244d.lib
opencv_ml244d.lib
opencv_nonfree244d.lib
opencv_objdetect244d.lib
opencv_photo244d.lib
opencv_stitching244d.lib
opencv_ts244d.lib
opencv_video244d.lib
opencv_videostab244d.lib


opencv_calib3d244.lib
opencv_contrib244.lib
opencv_core244.lib
opencv_features2d244.lib
opencv_flann244.lib
opencv_gpu244.lib
opencv_highgui244.lib
opencv_imgproc244.lib
opencv_legacy244.lib
opencv_ml244.lib
opencv_nonfree244.lib
opencv_objdetect244.lib
opencv_photo244.lib
opencv_stitching244.lib
opencv_ts244.lib
opencv_video244.lib
opencv_videostab244.lib
 说明:上面的库为opencv\build\x86\vc10\lib里面的库文件,文件名后面有小写字母“d”的为Debug库(调试模式库),没有“d”的为Release库(发布模式库)。末尾的244
是版本号,和你lib里面的文件一致的。比如,OpenCV2.4.3的lib文件的末尾数字为243。如果版本不一样,要改正,使其一致。
[编辑]

四、测试程序

[编辑]

4.1、程序代码

#include   
#include
using namespace cv;
void main()
{IplImage *src;src = cvLoadImage("lena.jpg"); //这里将lena.jpg和lena.cpp文件放在同一个文件夹下cvNamedWindow("lena",CV_WINDOW_AUTOSIZE);cvShowImage("lena",src);cvWaitKey(0);cvDestroyWindow("lena");cvReleaseImage(&src);
}
[编辑]

4.2、运行结果

[编辑]

4.2.1、Debug下的运行结果

Image:022.jpg
[编辑]

4.2.2、Release下的运行结果

Image:023.jpg
[编辑]

作者

可能会出现问题:

LINK : fatal error LNK1123: failure during conversion to COFF: file invalid or corrupt

解决方法:

项目-->工程属性->配置属性-> 清单工具->输入和输出->嵌入清单,选择[否]   ----------->只要设这个就可以了

本文转自:(“http://wiki.opencv.org.cn/index.php/VC_2010下安装OpenCV2.4.4”)

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

vue3源码中的最长递增子序列

求解最长递增子序列是一道经典的算法题, 多数解法是使用动态规划的思想,算法的时间复杂度是O(); 而Vue.js内部使用的是维基百科提供的一套“贪心二分查找”的算法; 贪心算法的时间复杂度是O(n),二分查找的时间复杂度是O(logn),总时间复杂度…

认识“数字图像”

不同领域的人对图像的概念有着不同的理解。从工程学角度上讲,“图”是物体透射或反射光的分布;“像”是人的视觉系统对图的接收在大脑中形成的印象或认识。因此,图像常与光照、视觉等概念联系在一起,光的强弱、光的波长以及物体的…

Java编程基础阶段笔记 day04 Java基础语法(下)

​ 面向对象编程 笔记Notes 面向对象三条学习主线 面向过程 VS 面向对象 类和对象 创建对象例子 面向对象的内存分析 类的属性:成员变量 成员变量 VS 局部变量 类的方法 方法的重载 可变个数形参 面向对象:封装性 访问权限修饰符 构造方法&…

汉诺塔递归算法

起源: 汉诺塔(又称河内塔)问题是源于印度一个古老传说的益智玩具。大梵天创造世界的时候做了三根金刚石柱子,在一根柱子上从下往上按照大小顺序摞着64片黄金圆盘。大梵天命令婆罗门把圆盘从下面开始按大小顺序重新摆放在另一根柱子…

Java编程基础阶段笔记 day 07 面向对象编程(上)

​ 面向对象编程 笔记Notes 面向对象三条学习主线 面向过程 VS 面向对象 类和对象 创建对象例子 面向对象的内存分析 类的属性:成员变量 成员变量 VS 局部变量 类的方法 方法的重载 可变个数形参 面向对象:封装性 访问权限修饰符 构造方法&…

谈“发表(撰写)学术论文的注意事项”

题记:做两个核心学术期刊的“数字图像处理”类审稿专家有一段时间了,在审稿过程中发现存在很多问题,所以在此就撰写学术论文过程中的一些注意事项,跟大家交流一下(当然,文中的很多观点也是一些资深主编的看…

Vue/Angular中父窗口新开的子窗口关闭的时候刷新父窗口

最近遇到一个项目需求:Angular中父窗口新开的子窗口提交完信息关闭的时候刷新父窗口。 知识点: window.opener 概述 返回打开当前窗口的那个窗口的引用,例如:在window A中打开了window B,B.opener 返回 A. 语法 …

图像边缘特征

图像边缘是图像的重要特征,是图像中特性(如像素灰度、纹理等)分布的不连续处,图像周围特性有阶跃变化或屋脊状变化的那些像素集合。图像的边缘部分集中了图像的大部分信息,一幅图像的边缘结构与特点往往是决定图像特质…

HDU 6631 line symmetric(枚举)

首先能想到的是至少有一对相邻点或者中间间隔一个点的点对满足轴对称,那么接下来只需要枚举剩下的点对是否满足至多移动一个点可以满足要求。 第一种情况,对于所有点对都满足要求,那么Yes。 第二种情况,有一个点不满足要求&#x…

学习数字图像处理经验谈

一、面向应用:层层分解、抓住要点 我们学习数字图像处理的最终目的还是应用,不管是用它来研制产品还是研发项目抑或是研究课题,都要用数字图像处理的理论、方法和技术来解决实际问题。在此过程中,提高效率是非常重要的&#xff0c…

读javascript百炼成仙笑死笔记一

“自然是这样的,但是我现在这样改一下,你说结果是多少呢?”叶小凡诡异地笑了笑,然后打出一段比较奇特的代码。 var a 1; var b; var sum (b a --a) a-- b; “噗!”看到这段代码,对面弟子差点一口老血…

C#调用存储过程的通用类

usingSystem;usingSystem.Collections.Generic;usingSystem.Text;usingSystem.Data.SqlClient;usingSystem.Collections;usingSystem.Data;//摘要:数据访问助手。//作者:ZhiQiao//日期:2008/07/02namespaceZhiQiao.DataAccessHelper{ //存…

图灵奖得主(一)

本文转自:http://bbs.gxnu.edu.cn/bbsanc.php?path%2Fgroups%2FGROUP_5%2FProgramming%2Fother%2FM.1029997222.A A.M. Turing Award ACMs most prestigious technical award is accompanied by a prize of $25,000. It is given to an individual selected fo…

react-router-dom@6获取路由传参

目录 参数获取 1、子路由形式携带 2、问号(?)形式参数 3、事件跳转传参 router/index.tsx import App from "App"; import Home from "pages/Home"; import List from "pages/List"; import Detail from "pages/Detail"; import…

图灵奖得主(二)

本文转自:http://bbs.gxnu.edu.cn/bbsanc.php?path%2Fgroups%2FGROUP_5%2FProgramming%2Fother%2FM.1029997222.A 1987年度的图灵奖授予了IBM沃特森研究中心老资格的研究员 约翰科克(Johncocke)。 科克是从机械到数学、又从数学转到 计算机方向上来的学者。…

jQuery效果之滑动

jQuery 滑动方法有三种:slideDown()、slideUp()、slideToggle()。 jQuery slideDown() 方法用于向下滑动元素, 语法:$(selector).slideDown(speed,callback); 可选的 speed 参数规定效果的时长。它可以取以下值:"slow"、…

Error: This command has to be run with superuser privileges (under the root user on most systems).

意思是错误:此命令必须以超级用户权限(在大多数系统上以root用户权限)运行。所以当前的用户是普通用户,需要切换为超级用户(root用户)先输入在命令行中输入 su root 然后会出现Password:&#…

图灵奖得主(三)

本文转自:本文转自:http://bbs.gxnu.edu.cn/bbsanc.php?path%2Fgroups%2FGROUP_5%2FProgramming%2Fother%2FM.1029997222.A 继1979年度图灵奖首次授予一位加拿大学者K.E.Iverson之后, 1989年度的图灵 奖又一次授予加拿大学者威廉凯亨(Willia…

对微信公共号的理解

通过redirect_uri获取code 通过code和appid 获取access_token 进行鉴权 转载于:https://www.cnblogs.com/zhouyideboke/p/11309752.html

vue3 v-model变化

概览 就变化内容而言,此部分属于高阶内容: 非兼容:用于自定义组件时,v-model的 prop 和事件默认名称已更改: prop:value -> modelValue;event:input -> update:modelValue&a…