几年以前我简单的测试过 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!" 的时候,该测试项目才完成!