zoukankan      html  css  js  c++  java
  • 基于OpenCV的程序脱离动态链接库运行方法 (此方法也可用于将opencv源码编译成一个链接库)

    首先要明确在没有安装OpenCV的电脑上,要运行基于OpenCV库的程序,有两种方法:一、将OpenCv安装目录下的bin目录下的*.dll文件与应用程序一起打包发布。

    二、将OpenCV库源代码加载到工程中和应用程序一起编译,也就是说最后生成的可执行文件可以单独运行,不需要OpenCV的动态链接库。下面将详细介绍这种方法。

    首先要确定程序使用了OpenCV的哪些库函数,一般来说,cv、cxcore和highgui是必需的,为简化说明,下面将只编译这三个库,如果有使用其它库,同样也要加入。系统环境为:WindowsXP+VC6.0+OpenCV1.0。

    1、  为方便管理,先将OpenCv安装目录下的cv、cxcore、otherlibs/highgui三个目录复制到你的工程目录。

    2、  在集成开发环境的项目管理窗口中(FileView)新建两个文件夹,分别为opencv_src,opencv_include。

    3、  在项目管理窗口中右击opencv_include项,选择Add Files to Folder...,将第1步中已复制至工程目录下的三个目录下的include目录中的.h文件添加到该项目管理文件夹中。接着按相同做法将三个目录下的src目录中的.cpp文件添加到opencv_src项目管理文件夹中。

    4、  几点注意:dummy.cpp在三个目录下都有,只需要添加一次。Highgui目录下以cvcap开头的.cpp文件为摄像头相应库,如果你的程序没有处理视频,不要添加这些.cpp文件。不要添加window_carbon.cpp文件,原因还不明。

    5、  右击opencv_src,选择Setting...,选择C/C++页,在Category选择Precompiled Headers,再选择下面四个单选项中的第一项”Not using precompiled headers”。这样做的目的是不使用编译头文件,否则会产生“找不到文件结尾”的错误。也可以在每个.cpp文件的开头加入include ”stdafx.h”,但显然没有更改一个选项来得方便。

    6、  在Project->Settings...->C/C++中,选择Category中的Preprocessor项,把 Additional include directories改为cv/include,cv/src,highgui, cxcore /include, cxcore /src

    7、  Project->Settings...->Link,如果Object/library modules中有cv.lib,cvaux.lib,highgui.lib,删除之。

  • 相关阅读:
    转载:javaweb学习总结(二十九)——EL表达式
    转载:javaweb学习总结(二十八)——JSTL标签库之核心标签
    转载:javaweb学习总结(二十七)——jsp简单标签开发案例和打包
    空指针异常
    转载:javaweb学习总结(二十六)——jsp简单标签标签库开发(二)
    转载:javaweb学习总结(二十五)——jsp简单标签开发(一)
    转载:javaweb学习总结(二十四)——jsp传统标签开发
    线性代数的本质-05-行列式
    线性代数的本质-04补充-三维空间中的线性变换
    线性代数的本质-04-矩阵乘法与线性变换复合
  • 原文地址:https://www.cnblogs.com/youfal/p/2666120.html
Copyright © 2011-2022 走看看