我目前正在尝试构建一个实时机器视觉系统,其相机帧速率为30 fps(每帧33 ms),这意味着我的计算时间最长为30 ms。
在 Intel Core i7-4930K @ 3.40 GHz 上使用opencv计算图片的平均值和标准偏差需要140 ms,这太慢了。
这种性能通常是这种性能吗?是否有办法提高性能,使其速度超过所需的30 ms,最好不使用Cuda?
Testcode:
int main()
{
cv::Mat m = cv::Mat(1500, 2000, CV_8UC1);
cv::Scalar n1,n2;
int64 n3 = cv::getTickCount();
meanStdDev(m, n1, n2);
printf("%f\n", double(cv::getTickCount() - n3) / cv::getTickFrequency());
getchar();
return 0;
}