gpt4 book ai didi

c++ - Matlab 仍然比 C++ 中的 opencv 慢吗

转载 作者:塔克拉玛干 更新时间:2023-11-03 01:44:54 25 4
gpt4 key购买 nike

根据这个link还有这个one ,据说opencv比matlab快多了。第一个链接写于 2012 年 3 月,第二个链接比那个晚一点。

在第一个链接中,它说,“用 OpenCV 编写的程序比用 Matlab 编写的类似程序运行得快得多。” 并评价 Matlab:2/10OpenCV:9/10

考虑一下,我有两个float Matrix,它们的大小是1024*1024(ma​​t1ma​​t2)。我想关联这个矩阵。

在 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 2013aVisual Studio 2010

谢谢,

最佳答案

Matlab 内建函数自带 mkl 和 opencv 的 dont。因此,如果两者都存在两个完全等效的函数,则 matlab 可能比 opencv 快(很多)。我曾尝试在大型矩阵上进行伪逆运算,而 matlab 击败了一切(openblas、 Armadillo 、自积分 mkl 等)至少 2 倍。然后我就不再弄清楚为什么了,只是将数据加载到 matlab 中,让它做这件事。 opencv 是迄今为止最慢的。在 opencv 中尝试对 10000x10000 矩阵进行矩阵乘法。在我的笔记本电脑上花了 10 分钟。 Matlab用了1分钟。

关于c++ - Matlab 仍然比 C++ 中的 opencv 慢吗,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24761170/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com