几年以前我简单的测试过 OpenCV,那时的感觉印象不太好,好像是 canny 边界算子的实现有问题。

最近我下载了 2.4.5 版本,测试下来 OpenCV 真是今非昔比,国外能把开源的平台做到这样,真是佩服!

OpenCV自带的测试程序多为cmd-line模式,为了增强集中测试能力我改为dialogue形式,这样一个testor就能测试OpenCV的很多特性。

测试的原始代码文件位于 OpenCV\samples\cpp, OpenCV\samples\cpp\tutorial_code, 我对源文件进行了重组及必要的编辑处理。

编译运行时需要的 OpenCV-lib,dlls:
       参见 TestCV.cpp 里 #pragma comment(lib, "opencv_***.lib") 语句引用的所有模块。
       摄像头以及读取视频文件需要 opencv_ffmpeg.dll 的支持,否则读取失败!

请修改VC工程配置文件 pubset.props, exesetr.props, exesetd.props 以成功编译,并从OpenCV安装目录
拷贝必要的dlls到编译好的目标目录下。

注:VC10/11下编译时链接OpenCV-dll成功,但链接OPENCV的静态库失败!


演示功能特性列表:
       DrawingCV:   OpenCV basics, displaying, trackbar
       ImageFilter:  Gauss, Bilateral, Kalman, etc.
       ImageProcs:   morphing, threshold, blending
       EdgeDetector:  canny,sobel,laplace, etc.
       HoughDetector:  line and circles
       image segment:  watershed, meanshift, EM, kmeans
       CornerDetector:  Harris, Tomasi, Subpixel
       FaceyesDetector: face/eyes detecting, camera-video supported
       Feature2D_SURF:  Homography, FlannMatcher
       HistorgramProcs: Equalize, Matching, Backproject
       MotionTracking:  FeatureTrack, Lukas-Kanade
       Video_demo:   video read/write, psnr, Retina
       ClusterAlgs:  Support Vector Machines, EM, kmeans
       pnts classifier: NBC, KNN, SVM, DT, BT, GBT, RF, ERT, ANN, EM
       letter recognize: randtrees, boost, MLP, knearest, Bayes, SVM
       Camera Calibration: in_VID5.xml, VID5.xml

注:
      1.运行编译好的程序前,请先运行记事本Notepad.exe,运行过程中有些信息将输出到记事本显示。
            参见 xdebug.h 里定义的函数 xprintf, PrintTestInfo.
      2.同一个测试项目下又分若干个子条目,当点击测试按钮 TestGO 几次后报告消息----
            "this test-item finished!" 的时候,该测试项目才完成!


需要的图像及数据文件:
       在本测试程序 TestCV.exe 所在的目录的父目录下建立两个文件夹:cvimages, cascades
       在我的机器上目录如下:
              D:\bin\cascades
              D:\bin\cvimages
              D:\bin\Debug\TestCVD.exe
              D:\bin\Release\TestCV.exe
cvimages 目录:
       把 OpenCV\samples\cpp 下(包括子目录)所有的图像视频文件以及xml配置文件拷贝到 cvimages 目录下;
       该目录还包括下列文件:
              letter-recognition.data
              Megamind_sub.bmp: 这是我自己增加的,用于目标匹配。  
cascades 目录:
       把 OpenCV\data 下的所有文件(包括子目录下的)拷贝到 cascades 目录下;
       该目录下的文件用于人脸和眼睛识别。

 

程序源码下载地址:

       http://download.csdn.net/detail/xlh9718/5752013

 

Logo

电商企业物流数字化转型必备!快递鸟 API 接口,72 小时快速完成物流系统集成。全流程实战1V1指导,营造开放的API技术生态圈。

更多推荐