因为机器是双核。想到怎么才能更好应用opencv , 从opencv说明上得到 一些可以使用 OPENMP 做并行处理的函数: cvHaarDetectObjects, cvCalcOpticalFlowPyrLK, cvDistTransform (the new algorithm only), 因此它们的运行速度在双核CPU上要快 ~50-80% , 当代码用 Intel compiler 或者 MSVC2005 编译时。 于是实验一下. 环境 : 机器配置 : windows XP 32 , 2G RAM , dual core intel 1.8G *2 软件 : opencv版本1.0 rc1 ,vc2005 中文简体 1.VC2005下首先需要设置一下,但是opencv提供的release openmp配置好像是针对win64版本,需要修改一下,我就自己建立了一套配置, 如图,记得打开/openmp选项, 需要打开的项目是 CV CXCORE CVAUX (可以搜索一下_OPENMP ,发现只有几个函数优化了 ) 2.编译问题 我编译的时候出现这个错误 修改lkdemo.c的代码,需要将一些IO操作、空闲cpu的代码去掉 把 cvQueryFrame( capture );变成 frame = cvLoadImage("c:\\\\test1.bmp",1); 放到for()外边 去掉cvWaitKey(10); 在需要优化的地方加入 而使用最简单的测试openmp的例子可利用CPU 100% 4。结论 目前opencv提供的优化还太少,只有这么几个函数,实际上但感觉现在似乎不太需要openmp ,而瓶颈在硬盘IO,摄像头IO,内存IO等等
#include "stdafx.h" int _tmain (int argc, _TCHAR * argv[]) |