zoukankan      html  css  js  c++  java
  • opencv编译以及测试

    opencv下载地址http://www.opencv.org.cn/index.php/Download

    最新版本是:Version 2.3.1,下载地址:http://www.opencv.org.cn/download/OpenCV-2.3.1-win-superpack.exe

    下载好了之后把它解压出来,例如我解压到:F:\opencv

    由于不是windows下的vs项目,需要使用CMAKE转换一下,cmake下载地址http://www.cmake.org/cmake/resources/software.html

    我下载的是:

    Windows (Win32 Installer)

    cmake-2.8.7-win32-x86.exe

    安装完毕后运行cmake,并在“Where is the source code”中设置opencv的目录,例如我的是:F:\opencv

    然后设置你想要生成vs工程项目的目录“Where to build the binaries”,我这里设置为F:\opencv\vs2010,如图所示:

    然后点击底部的“Configure”按钮,第一次会出现很多红色,再点一次Configure”按钮直到没有红色为止,说明配置正确了。

    中间弹出让你选择编译器的配置的时候选择“visual studio 10”即可,最后点“Generate”按钮生成工程项目文件,最后成功生成的vs2010项目如图所示:

    打开OpenCV.sln,其实我们不用全部编译的,因为下载的opencv包里面解压出来后的目录F:\opencv\build\x86\vc10\staticlib中已经有静态编译出来的lib文件了。

    唯一没有的是三方的库,我们一律按照静态编译这几个三方库: libjasper,libjpeg,libpng,libtiff,zlib,注意这几个项目的配置属性中代码生成都要设置成MTD(MT)

    不然链接的时候会有问题。成功编译后,三方库生成在F:\opencv\vs2010\3rdparty\lib\Debug目录下,我们把这几个lib文件都复制到F:\opencv\build\x86\vc10\staticlib目录下。

    新建一个opencvtest项目,添加代码:

    // opencvtest.cpp : 定义控制台应用程序的入口点。
    //

    #include "stdafx.h"
    #include "cv.h"
    #include "highgui.h"
    using namespace cv;

    #pragma comment(lib,"libjasperd.lib")
    #pragma comment(lib,"libpngd.lib")
    #pragma comment(lib,"libjpegd.lib")
    #pragma comment(lib,"zlibd.lib")
    #pragma comment(lib,"libtiffd.lib")

    #pragma comment(lib,"comctl32.lib") //for CreateToolbarEx

    int _tmain(int argc, _TCHAR* argv[])
    {
    Mat img = imread("test.jpg");

    if(!img.data)
    return -1;

    namedWindow("flower", CV_WINDOW_AUTOSIZE);

    imshow("flower", img);

    waitKey();

    return 0;
    }

    设置项目的VC++项目包含目录F:\opencv\build\include\opencv;F:\opencv\build\include;$(IncludePath)

    设置库包含目录F:\opencv\build\x86\vc10\staticlib;$(LibraryPath)

    因为我们把三方库的lib都复制到了F:\opencv\build\x86\vc10\staticlib目录下,所以使用时直接:

    #pragma comment(lib,"libjasperd.lib")
    #pragma comment(lib,"libpngd.lib")
    #pragma comment(lib,"libjpegd.lib")
    #pragma comment(lib,"zlibd.lib")
    #pragma comment(lib,"libtiffd.lib")

    其中由于opencv库中引用了函数CreateToolbarEx,为此我们还要链comctl32.lib库:

    #pragma comment(lib,"comctl32.lib")    //for CreateToolbarEx

    程序运行效果截图:






  • 相关阅读:
    信息系统项目管理师沟通的四个好习惯
    Android 线程
    替换exe程序图标DLL
    Python 邮件类
    android自适应屏幕方向和大小
    sqlserver 存储过程
    FinalData 数据恢复工具[绿色版]
    Python Python 正则 取中括号值
    在Button任意位置加图片效果
    android GPRS
  • 原文地址:https://www.cnblogs.com/daxingxing/p/2354301.html
Copyright © 2011-2022 走看看