测试harris算法处理摄像头采集图像的响应时间

本文通过clock()函数测试了Harris角点检测算法在处理摄像头每帧图像时的时间消耗,包括差分算子滤波、高斯平滑、角点量计算、局部非极大值抑制和最终角点检测等步骤。结果表明,从差分算子到高斯平滑的处理速度较慢,而计算角点量和局部非极大值抑制速度较快。整个过程的响应时间远超过理想状态,尤其是使用OpenCV内置函数时,需要进行优化以提高效率。
摘要由CSDN通过智能技术生成

harris算法是经典的角点检测算法。对静态的图片进行处理当然消耗内存和时间都非常的短,但是对摄像头采集的每一帧处理就需要花费很大的时间和内存,甚至可能因为内存泄露和空间不足而使电脑奔溃,在这里我运用简单的clock()函数测试各个主要函数的响应时间。


第一步:利用差分算子对图像进行滤波

start = clock();
// cout<<CV_MAT_ELEM(*mat_I,double,200,200)<<endl;
//--------------------------------------------------------------------------
//                     
//--------------------------------------------------------------------------
//定义水平方向差分算子并求Ix
double dx[9]={-1,0,1,-1,0,1,-1,0,1};


mat_Ix=mbys(mat_I,cxDIB,cyDIB,dx,3,3); //求Ix矩阵


// cout<<CV_MAT_ELEM(*mat_Ix,double,200,200)<<endl;


//定义垂直方向差分算子并求Iy


double dy[9]={-1,-1,-1,0,0,0,1,1,1};


mat_Iy=mbys(mat_I,cxDIB,cyDIB,dy,3,3);//求Iy矩阵


// cout<<CV_MAT_ELEM(*mat_Iy,double,200,200)<<endl;


for(j=0;j<cyDIB;j++)
for(i=0;i<cxDIB;i++)
{
S(pImgDx,i,j)=CV_MAT_ELEM(*mat_Ix,double,j,i);//为相应图像赋值
S(pImgDy,i,j)=CV_MAT_ELEM(*mat_Iy,double,j,i);
}


mat_Ix2=mbxy(mat_Ix,mat_Ix,cxDIB,cyDIB);//计算Ix2,Iy2,Ixy矩阵
mat_Iy2=mbxy(mat_Iy,mat_Iy,cxDIB,cyDIB);
mat_Ixy=mbxy(mat_Ix,mat_Iy,cxDIB,cyDIB);
for(j=0;j<cyDIB;j

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

joorey

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值