第一个链接中说,“用OpenCV编写的程序比用Matlab编写的类似程序运行速度要快得多。” 并给出了评分:Matlab: 2/10
和 OpenCV: 9/10
考虑以下情况:我有两个大小为1024 * 1024的浮点矩阵(mat1和mat2)。 我想将这些矩阵相关联。
在Matlab中,
corr2(mat1,mat2); //70-75 ms
在OpenCV中,使用C++语言。
Mat result(1,1,CV_32F);
matchTemplate(mat1,mat2,result, CV_TM_CCOEFF_NORMED); // 145-150 ms
据我所知,C和C++的速度大致相同。
因此,我想知道为什么在执行交叉相关时,Matlab比Opencv/C++更快。是因为我比较错了(尽管结果相同),还是Matlab的交叉相关实现比Opencv实现快一倍?
请注意,我使用的是Matlab 2013a和Visual Studio 2010。
谢谢。