Opencv 例程讲解 3 ----如何高效的遍历图像

本文详细探讨了在OpenCV中遍历图像像素的三种方法:C下标访问、迭代器遍历和on-the-fly随机遍历,并通过与LUT函数的性能对比,展示了它们在512x512彩色Lena图片上的执行时间。实验结果显示,LUT函数速度最快,C下标访问次之,而on-the-fly遍历由于边界检测导致速度较慢。
摘要由CSDN通过智能技术生成

         上次例程中简单提到了3种遍历图像像素的方式,但对于他们遍历的性能我们却一无所知。这次将详细介绍下opencv中遍历图像像素的方法,例程对应为 (TUTORIAL) how_to_scan_images,该例程将这3种方法分别用于图像的像素量化时候,通过测量运行100次的平均时间,进行性能对比,还和opencv自带的LUT函数进行对比,以此分析三种遍历方法的性能。由于源码较长,这次就不贴全部的源码,只挑出其中用的函数进行分析。

我们先来看下程序的运行结果,如下图所示。

可以发现,例程中展示了4种图像遍历的方法,运行结果给出了他们各自运行100次的时间,测试用的图片为512x512大小的彩色Lena图片。

1. C 下标访问的方法,耗时1.62311毫秒, 可以看出除了Opencv自带的LUT函数,这个方式是最快的

2. 迭代器遍历,耗时2.19939毫秒

3. on-the-fly,随机 遍历,耗时2.61471毫秒, 耗时较多,这是因为at访问带边界检测,为了保证了安全性能,牺牲了一定的速度

4. LUT 函数,这是opencv自带的函数,耗时1.03029毫秒,这是图像像素遍历的方式,比c的下标访

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值