直接上代码吧
matlab
clc
close all
clear all
tic; c = rand(7500,7500)*rand(7500,1);toc;
Elapsed time is 2.576807 seconds.
opencv code
#include <cv.h>
#include <highgui.h>
#include <stdio.h>
#include <iostream>
using namespace std;
#pragma comment( lib, "cxcore.lib" )
#pragma comment( lib, "cvaux.lib" )
#pragma comment( lib, "highgui.lib" )
#pragma comment( lib, "cv.lib" )
void GenRand(CvMat* arr, int seed);
void main()
{
int rows,temp_cols,cols;
rows = 7500;temp_cols=7500,cols=1;
/*CvMat* mat1 = cvCreateMat(rows,temp_cols,CV_32FC1);
CvMat* mat2 = cvCreateMat(temp_cols,cols,CV_32FC1);
for(int i=0;i<rows;i++)
&nb

本文通过代码实例对比了OpenCV和MATLAB进行7500x7500矩阵相乘的速度,结果显示OpenCV在Release模式下耗时约0.12秒,比MATLAB快约20倍。作者指出,尽管OpenCV和MATLAB在矩阵运算上有优化,但若矩阵有特定规律,MATLAB可能因内置优化算法而表现更优。
8787

被折叠的 条评论
为什么被折叠?



