zoukankan      html  css  js  c++  java
  • VS2013+OpenCV3.4.2编译

    一、准备工作:

    (1)在OpenCV官网下载3.4.2版本(注意选择Win pack),https://opencv.org/releases.html。

    (2)下载Contrib模块,https://github.com/opencv/opencv_contrib/releases/tag/3.4.2(记住opencv是什么版本,contrib就下什么版本,必须对应否则编译会出问题)

    (3)下载CMake,下载后直接安装即可。https://cmake.org/download/

    二、编译生成

    下载的OpenCV是一个exe格式的文件,点击以后解压到你自己指定的目录即可,解压出来的文件包含一个source目录和一个build目录,实际上build目录就是已经编译好的可以使用的包了,但是不包含contrib模块,而且是64位的,

    下面我们开始编译完整的32位版本。

    (1)打开Ccmake-gui.exe

    (2)点击Browse Source选择你解压出来的OpenCV Source目录,点击Browse Build选择一个目录用来存放生成的工程文件(自己创建一个目录),

    (3)点击Configure,选择VS 2013,然后点击Finsh,然后CMake开始生成工程,注意此过程会从网上下载ffmpeg和ippicv两个库,所以需要联网。

    (4)编译选择:

    1.如果你想编译成静态库,那么把BUILD_SHARED_LIBS的钩去掉,这样就不用每次发布程序都带一堆动态库。

    2.如果你想减少库文件,可以勾选BUILD_opencv_world,这样很多库会集成到opencv_world342.lib,那么你每次新建工程就不需要填写一大堆库链接了,但是可能也会把很多没用到的库包含进来

    增加程序体积,所以我没有勾选,还是保持原来的。

     

    3.如果你已经下载了contrib模块,解压模块,然后设置OPENCV_EXTRA_MODULES_PATH指向contrib的modules目录。如果你没下载这个模块,就不用做这一步了,工程照样能够正常编译。

    (5)开始生成

    选择完毕再次点击configure按钮,执行完毕还有红字则继续点击configure直到全部变成白色,然后点击Generate。

    看到Configuring done、Generating done就表示已经搞定了。

    (6)编译工程

    进入你创建的Build目录,用vs打开OpenCV.sln工程,找到INSTALL然后点击生成,编译的时候把360杀毒和什么安全卫士之类的关闭,我因为打开导致cmake出错,关闭后就完全正常了,接着等待编译完成就OK了。编译完成后切换到Release模式再次编译。

    (7)测试

    1.用VS2013创建一个控制台程序,点击工程名右键-属性-配置属性-VC++目录,

    打开包含目录,添加include,include/opencv,include/opencv2三个目录

    2.添加库目录:install\x86\vc12\staticlib

    3.点击配置属性-链接器-输入,选择附加依赖项,添加需要的库文件。DEBUG模式的都是*d.lib,RELEASE的是*.lib,根据自己项目引用到的模块来添加,我这里

    需要添加的库有:

     ippicvmt.lib
    IlmImfd.lib
    ippiwd.lib
    ittnotifyd.lib
    libjasperd.lib
    libtiffd.lib
    libwebpd.lib
    libjpeg-turbod.lib
    libpngd.lib
    opencv_core342d.lib
    opencv_highgui342d.lib
    opencv_imgcodecs342d.lib
    opencv_imgproc342d.lib
    zlibd.lib

    4.编写代码

     1 #include "stdafx.h"
     2 #include <opencv2/opencv.hpp>
     3 #include <opencv2/highgui.hpp>
     4 
     5 using namespace cv;
     6 
     7 int _tmain(int argc, _TCHAR* argv[])
     8 {
     9     Mat mat;
    10     mat = imread("home.jpg",CV_LOAD_IMAGE_UNCHANGED);
    11     if (mat.empty())
    12         return -1;
    13     imshow("MyWindow", mat);
    14     waitKey(0);
    15     destroyWindow("MyWindow");
    16     return 0;
    17 }
    View Code


    5.运行程序

  • 相关阅读:
    December 23rd 2016 Week 52nd Friday
    December 22nd 2016 Week 52nd Thursday
    December 21st 2016 Week 52nd Wednesday
    December 20th 2016 Week 52nd Tuesday
    December 19th 2016 Week 52nd Sunday
    December 18th 2016 Week 52nd Sunday
    uva294(唯一分解定理)
    uva11624Fire!(bfs)
    fzu2150Fire Game(双起点bfs)
    poj3276Face The Right Way
  • 原文地址:https://www.cnblogs.com/WushiShengFei/p/9474382.html
Copyright © 2011-2022 走看看