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

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

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

  测试的原始代码文件位于 OpenCVsamplescpp, OpenCVsamplescpp utorial_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!" 的时候,该测试项目才完成!