zoukankan      html  css  js  c++  java
  • vs c++配置opencv(1)

    1.vc++配置opencv

    2.简单常用的图片处理函数

    3.图像修复函数

    环境:

    vs2013

    opencv2.4.13 

    准备工作:

    1.安装opencv。

    opencv各版本间存在API差异,opencv提供相应版本的vc文件,在其安装目录 ..opencvuildx86 目录下,个人觉得引用与当前使用vs版本最接近的目录文件就可以。opencv安装目录下的引用lib及bin文件 提供x86和x64

    2.配置环境变量。

    首先在 我的电脑 右键 属性,在系统属性中 选择高级,打开设置环境变量的界面。其中 上半部分为用户变量,下半部分为系统变量。

    (1)在用户变量中添加PATH变量,值为:安装目录opencvuildx86vc12in;安装目录opencvuildx64vc12in

    (2)在用户变量中添加OPENCV,值为:安装目录opencvuild

    过程中变量如果存在,将值添加至末尾,以;间隔

    配置好了环境变量,接下来配置的是vc++的工程项目了,用来在vc++中使用opencv。

    打开vs,新建项目,选择vc++,32位控制台应用程序,工程命名为opencvTest。

    在项目工程上右键,属性,打开属性页面。

    属性中选择配置信息,配置中配置选项选择为Debug。点击左侧导航中的 vc++目录。编辑其中的包含目录和库目录。

    注:此处为单独的项目配置信息,如果想将此配置导出属性文件供各个项目使用,选择vs中的视图-》其他窗口-》属性管理器 

    在属性管理器项目上右键 =》添加新项目属性表,为属性表命名并存放于公共目录下,以方便后面的项目引用,在属性管理器中双击新建的属性其具体配置和下面的一样。配置好属性表之后,下次使用就可以在属性管理器中 右键=》添加现有属性表,找到属性文件,添加即可使用。此处以单独项目的配置信息为例:

    其中,包含目录中引入的路径是 opencv安装路径opencvuildinclude 及其子项。库目录是其lib文件的所在目录,这里把x86和x64的都引入进来了。如出现“error C1083: 无法打开包括文件:“opencv2/core/core_c.h”: No such file or directory”类错误 说明包含目录中的引用出现问题,可能是路径错了,调整引用路径就ok。

    这个地方要注意的是,根据当前项目的实际情况选择相应版本的lib目录,本次设置将两个版本的lib文件全部引用了,但实际项目中系统如果发现有两个一样的引用,会默认使用第一个版本,所以如果为32位的应用程序,则x86的放在首位,如果为64位应用程序x64放在首位。如出现错误“ 无法解析的外部符号_XXXXX,该符号在函数_main 中被引用”则是此处位置的问题,调整位置后就ok了。

    之后设置连接器的输入项,设置其附加依赖项,此处为opencv的引用lib文件名称。opencv3.4.13附加依赖项

    点击应用并确定。至此,opencv在vs中的配置完成,下面我们开始测试在vc++中调用opencv函数完成图片操作。

    (1)在项目源文件目录下,点击opencvTest.cpp,修改其代码为:

    // opencvTest.cpp : 定义控制台应用程序的入口点。
    //
    
    #include "stdafx.h"
    #include "cv.h"
    #include "highgui.h"
    
    using namespace std;
    
    int main()
    {
        IplImage* test;
        test = cvLoadImage("图片路径", 1);
        cvNamedWindow("opencv_demo", 1);
        cvShowImage("opencv_demo", test);
        cvWaitKey(0);
        cvDestroyWindow("opencv_demo");
    }

    此处需要注意的是:

    #include "stdafx.h" 需放在文件的第一行,否则会得到跳过引用的警告错误,和找不到相关引用方法的错误。 

    运行项目,执行结果为打开了在项目中引用路径的图片文件。

    运行期间 遇到“无法启动此程序,因为计算机中丢失xxx.dll”文件问题,解决方法:项目=》cc++=》预处理器  ,在预处理器定义中添加_CRT_SECURE_NO_WARNINGS,然后重新启动vs,完成修改。

  • 相关阅读:
    斯特林数
    JAVA substring截取报错java.lang.StringIndexOutOfBoundsException: String index out of range:
    大爽Python入门教程 2-2 序列: 字符串、元组与列表
    大爽Python入门教程 2-3 字符串,列表,字典
    大爽Python入门教程 2-4 练习
    大爽Python入门教程 2-1 认识容器
    JS 树形结构 根据子节点找到所有上级
    kafka扩容和分区重新分配
    Kafka 常用命令总结
    kafka的groupid
  • 原文地址:https://www.cnblogs.com/z-yue/p/5707053.html
Copyright © 2011-2022 走看看