c能比matlab快多少,c – OpenCV和MATLAB速度比较

我已经开始在Visual C 2010 Express中使用OpenCV,因为它应该比MATLAB更快.

为了在两者之间做一个公平的比较,我正在运行一个程序,我将RGB图像转换为其灰度对应,我计算转换图像空间操作经过的时间.

使用cvtColor命令在C版本中执行任务,平均需要5毫秒左右.在MATLAB中执行相同的操作,需要或多或少相同的平均时间(代码如下).

我已经测试了,两个程序都运行正常.

有没有人知道我是否可以提高OpenCV的速度?

C代码.

#include

#include

#include

#include

using namespace cv;

using namespace std;

double PCFreq = 0.0;

__int64 CounterStart = 0;

void StartCounter()

{

LARGE_INTEGER li;

if(!QueryPerformanceFrequency(&li))

cout << "QueryPerformanceFrequency failed!\n";

PCFreq = double(li.QuadPart)/1000.0;

QueryPerformanceCounter(&li);

CounterStart = li.QuadPart;

}

double GetCounter()

{

LARGE_INTEGER li;

QueryPerformanceCounter(&li);

return double(li.QuadPart-CounterStart)/PCFreq;

}

int main()

{

double time;

Mat im, result;

im = imread("C:/Imagens_CV/circles_rgb.jpg");

StartCounter();

cvtColor(im,result, CV_BGR2GRAY);

time = GetCounter();

cout <

}

MATLAB代码

tic

img_gray = rgb2gray(img_rgb);

toc

最佳答案 如果在编译时可用,OpenCV中的颜色转换将广泛使用

Intel IPP.请参阅

modules\imgproc\src\color.cpp.

More info from Intel.请注意,此代码没有OpenMP pragma或TBB代码,因此在此处没有帮助.

令人兴奋的是,英特尔已授予OpenCV免费使用IPP子集的权利,包括这些功能.有关详细信息,请参阅release summary中的第三项.但是你至少需要使用OpenCV 3.0来获得这个免费的功能;否则你需要使用自己的IPP副本进行编译.

显然,cvtColor(最左边)没有太大的好处,但它有点提升.其他功能做得更好.

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值