总结系列_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安装简介)

 

 

 

 

 

posted on 2012-11-07 21:35  tornadomeet  阅读(18083)  评论(7编辑  收藏  举报

阿萨德发斯蒂芬