2012-03-29 100 views
0

我从matlab代码(localSelfSimilarity)编码一个opencv版本。它工作完美,但速度是在win7 64位(amd64 3Ghz 4核,8GB ram)比我的mac mini(2Ghz core2duo 64位,8GB ram)慢得多。同一代码的速度,相同的优化,相同的输入图像在mac上,与时间执行..是真正的1分钟,用户57s。另一方面,win7(msys)Real是2min44s,cpu 0.01s,sys...0.015 cpu高达65%。 win7上的Gprof显示_mcount_private使用了37%的时间。事实上,matlab代码的运行速度与opencv代码一样快。 Mac上的Opencv较老的2.2和win7新的2.3.1。 OpenCv是使用mingw64, (这可能是问题?)在win7上构建的。昨天我下载了Windows SDK 7.1以使用64位cl.exe。这个代码可以用nmake编译,除了gpu-part(nvcc引发关于vs配置的错误,尝试了制作vcvars64.bat的窍门,但这没有帮助)。我将尝试使用vc构建代码,并查看是否有任何区别。 另一个在win7上使用opencv的代码运行得很好,只有这种自相似性非常慢。 输入图像是小200x157像素,使用400x500像素图像花了2.5小时。opencv代码在mac和win7上的速度差异

回答