OpenCV环境变量配置

您所在的位置:网站首页 opencv环境变量设置 OpenCV环境变量配置

OpenCV环境变量配置

2022-05-30 02:58| 来源: 网络整理| 查看: 265

问题

使用C/C++等语言,需要使用第三方程序库,这些函数通常会提供Lib,和Dll,比如说使用OpenCV开发图像处理,视觉软件,除了配置头文件目录(Include),和库文件目录(Lib)。程序运行时候,还需要提供动态链接库,否则,程序提示找不到dll错误。下面以OpenCV的配置说明。

方法 头文件和库文件目录的配置

将头文件目录和库文件配置如下,你对号入座即可。注意Win32和X64的不同,一般情况下选择Win32下的库即可。 这里写图片描述

动态链接库的配置 简单粗暴的方法 直接将dll复制到C:\Windows或者C:\Windows\System32目录下。警告若是你是64位的系统,请将64位dll(这里是OpenCV的64位dll)放在C:\Windows\System32,32位的dll放在C:\Windows\SysWOW64。为什么这样放,英文好的请看这里http://en.wikipedia.org/wiki/WoW64 中文好的请看这里http://baike.baidu.com/link?url=yXIlxPM2dIcuHv59tL7gGldOqqbO9oGC2byEMLlNtq0_tK99FeaQ7ZyQEP29bSwp_bV85xNJ-f17accEeYpYFa (^-^,其实微软这样设计系统,为了兼容32位程序)。优雅的方式(极力推荐) 你可以建立一个系统变量,起个名字,这里我起名字叫做OpenCV300。Look the picture 这里写图片描述 然后在path里面添加完整的dll路径,在这里我是如此%OpenCV300%\build\x86\vc10\bin,请君对号入座,很简单的。 优雅的方式确实可以使我们的系统盘不至于那么乱。然后重新开机什么的,NO,这里只需要重启一下Visual Studio就可以了。(网上说重启开机什么哒全是骗人的,都是坏人)。环境变量只是系统设置一些变量参数,就像我们写C/C++那样,程序启动时候加载,也就是说每次Visual Studio启动的时候加载一次,中间你若更改了path设置,Visual Studio是不知道的。你把它关了,再打开就可以。 Lib的引用

Lib有Debug版本和Release版本,混淆使用,会出现意外的错误,例如imread读入图像为空等。我建议如下方式引用。

//include opencv lib #ifdef _DEBUG #pragma comment(lib, "opencv_core246d") #pragma comment(lib, "opencv_imgproc246d") #pragma comment(lib, "opencv_highgui246d") #pragma comment(lib, "opencv_legacy246d") #else #pragma comment(lib, "opencv_core246") #pragma comment(lib, "opencv_imgproc246") #pragma comment(lib, "opencv_highgui246") #pragma comment(lib, "opencv_legacy246") #pragma comment(lib, "opencv_calib3d246") #pragma comment(lib, "opencv_contrib246") #pragma comment(lib, "opencv_core246") #pragma comment(lib, "opencv_features2d246") #pragma comment(lib, "opencv_flann246") #pragma comment(lib, "opencv_gpu246") #pragma comment(lib, "opencv_haartraining_engine") #pragma comment(lib, "opencv_highgui246") #pragma comment(lib, "opencv_imgproc246") #pragma comment(lib, "opencv_legacy246") #pragma comment(lib, "opencv_ml246") #pragma comment(lib, "opencv_objdetect246") #pragma comment(lib, "opencv_ts246") #pragma comment(lib, "opencv_video246") #endif

例如我使用的是OpenCV300版本,是将该代码写在一个头文件里面,起一个名字叫opencvlib300.h。然后放在VS的头文件目录下面,或者编译器可以找到的地方。

/*** *opencvlib300.h - definitions and declarations for math library * * Copyright (c) wincoder. All rights reserved. * *Purpose: * This file contains constant definitions and external subroutine * declarations for the math subroutine library. * [ANSI/System V] * * [Public] * ****/ #ifndef _INC_OPENCV300 #define _INC_OPENCV300 //include opencv lib #ifdef _DEBUG #pragma comment(lib, "opencv_ts300d") #pragma comment(lib, "opencv_world300d") #else #pragma comment(lib, "opencv_ts300") #pragma comment(lib, "opencv_world300") #endif #endif

在需要使用的头文件直接添加下面一行代码即可

#include

好了,可以愉快的开始编程之旅了。

转载请保留以下信息 作者日期联系方式风吹夏天2015年5月27日[email protected]


【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3