zoukankan      html  css  js  c++  java
  • 总结系列_14(OpenCV2.4.3的新特征以及安装方法)

      OpenCV2.4.3的新特征:

      在经过4个月的等待后,OpenCV又发布了新版本了,此时的最新版本为OpenCV2.4.3,下载地址为:OpenCV-2.4.3.exe

      下面来看看opencv2.4.3有了哪些新变化,主要是参考网页http://code.opencv.org/projects/opencv/wiki/ChangeLog上面介绍的,稍加翻译了一些,因为对有些专有名词不熟,所以可能翻译得不妥。这次版本的变化内容有不少是来源于google summer code(GSoC),那个项目贡献了不少code。

     

       

      多线程方面,后台增加许多通用的多线程并行处理算法,比如说基于交叉平台的TBB和OpenMP,基于苹果平台的Grand Central Dispatch,微软的Concurrency computing等。因为OpenCV内嵌了这些后台算法,所以用户甚至都不需要装这些后台库。

     

      

      在android方面,提高了OpenCV的管理,增加了新的Java框架 例程,android上能够更好地支持摄像头,具体的细节改变参考:Android Release Notes

      

      

      在ios系统方面,opencv2.framework完全支持ios6和iphone5了。ios上安装opencv的教程可以参考:

      http://docs.opencv.org/doc/tutorials/ios/table_of_content_ios/table_of_content_ios.html.

       

      

      在Python方面,增加了一些实例,包括ASIFT,手写字识别,运动去噪和Amazon PiCloud的使用。其使用参考:

      https://github.com/Itseez/opencv/tree/master/samples/python2

      

      在人脸检测方面,由于GSoC的贡献,增加了2个侧脸的级联分类器文件,可以参考网页:https://github.com/Itseez/opencv/tree/master/data/lbpcascades

      

      图像去噪方面,完善了non-local means去噪算法,虽然该算法不是实时的,但是效果相当不错。具体的可以参考网页:

      http://docs.opencv.org/trunk/modules/photo/doc/denoising.html

     

      

      在光流方面,增加了“简单流”光流算法,可以参考网页:https://github.com/Itseez/opencv/tree/master/samples/cpp/simpleflow_demo.cpp.

     

      

      CUDA方面,增加了不少GPU功能模块。

      驱动层完全对用户开放,用户现在可以使用opencv来写CUDA的驱动了;在级联分类器中支持LBP级联;加入了快速非局部均值图像去噪算法;引入了更快的积分算法;引入了霍夫圆,霍夫直线和广义霍夫变换;引入了双边滤波器;广义填水法填充连通域标注;前景背景分离算法,GMM,ViBe, GMG算法的加入;HOG类中增加了信任计算功能。

     

      

      OpenCL方面,加入了算术运算,滤波,常见的几何图形变换,光流,级联分类器,目前这些算法只能在GPU上跑。

       

      

      在OpenCV2.4.2基础上,修补了大概130个bug,这一点比较令人兴奋,bug又少了这么多。

     

      

      OpenCV现在社会推动很广,已经加入了Github,网址为:http://github.com/itseez/opencv. 在该网页上可以下载最新版本和提交各种问题。

      

      个人感受:

      从上面的趋势可以看出,OpenCV正在朝向多平台,多核,多编程语言迈进,并且不断的引入各种新的计算机视觉算法。期待2013年OpenCV2.5.0的问世!

      OpenCV2.4.3的安装方法:

      下面来讲讲怎么安装OpenCV2.4.3,由于本人最近用Qt比较多,所以就讲下怎么在Qt下安装OpenCV2.4.3。其实VS和Qt下是一样的,步骤后面的部分可以参考本人前面的博文: 总结系列_7(opencv2.4.2+vs2010安装简介) 虽然那是针对2.4.2的,但是基本流程是一样的。

      安装环境win32XP+opencv2.4.2+QtCreator2.5.1(方法同样适用于微软Vs开放的用户)

      其实opencv2.4.3比opencv2.4.2配置还要简单,因为少了TBB部分配置部分。

      步骤1 下载OpenCV-2.4.3.exe

      步骤2 双击exe解压到自己想安装的目录,我这来是解压完后的目录为:

          C:\Qt\opencv

      步骤3 配置环境变量,在系统环境变量配置下面的环境变量,经过测试,只需要在系统变量下配置,并不需要在用户变量下也配置,另外与opencv2.4.2不同的是,此时因为2.4.3版本的opencv内嵌了TBB的功能,所以取消了TBB直接安装,这样就不需要再配置TBB环境变量了。

                  变量名:                   变量值:

                   PATH:              C:\Program Files\opencv2.4.2\build\x86\vc10\bin

      步骤4打开QtCreator,新建一个纯C++工程,且在工程文件夹下放入一张名为opencv.png的图片(图片名称对应程序中的代码即可),主函数代码改为如下:

    #include <opencv2/core/core.hpp>
    #include <opencv2/highgui/highgui.hpp>
    
    using namespace cv;
    using namespace std;
    
    int main()
    {
        namedWindow( "show_image", WINDOW_AUTOSIZE );
        Mat src = imread( "opencv.png" );
        while(1)
        {
            imshow( "show_image", src );
            char c = waitKey(0);
            if( c == 27 )
                return 0;
        }
        return 0;
    }

      步骤5双击QtCreator工程右侧的*.pro文件,输入下面的内容:

    INCLUDEPATH +=  C:\Qt\opencv\build\include \
    
                    C:\Qt\opencv\build\include\opencv \
    
                    C:\Qt\opencv\build\include\opencv2
    
     
    
    LIBS += C:\Qt\opencv\build\x86\vc10\lib\opencv_core243d.lib    \
    
            C:\Qt\opencv\build\x86\vc10\lib\opencv_highgui243d.lib  \
    
            C:\Qt\opencv\build\x86\vc10\lib\opencv_imgproc243d.lib  

      步骤6运行程序,显示结果如下:

      

      提示:  如果在还没有配置好opencv环境变量的情况下,就打开了QtCreator工程,同时编好了步骤4的代码,然后才开始配置opencv的环境变量,则这时候随便怎么运行工程,就是没有任何结果,单步调试后发现,直接进入主函数就出现错误This inferior stopped because it triggered an exception.如下所示:

      

       这时候只需要把QtCreator软件关掉重新打开即可,因为它还没有识别到配置好的opencv。

      参考文献:

         http://code.opencv.org/projects/opencv/wiki/ChangeLog

         总结系列_7(opencv2.4.2+vs2010安装简介)

  • 相关阅读:
    【转】CSR蓝牙驱动程序引起的Win7奇怪问题
    c# .net WebRequest 始终报域名无法解析
    sql server 安装时提示要重启
    https 不检验证书
    windows 日志,IIS应用程序池回收日志
    excel sum
    .net core 连接sql server 时提示Connection Timeout Expired
    python2.0_day20_bbs系统开发
    SVN常用命令与分支操作
    SVN使用教程之-分支/标记 合并 subeclipse
  • 原文地址:https://www.cnblogs.com/tornadomeet/p/2759476.html
Copyright © 2011-2022 走看看