扫描、读取图像的四种方法
1.C operator [] 指针
2.iterator 迭代法 用迭代器遍历 [推荐使用]
3.on-the-fly address generation .at()函数
4.LUT function [推荐使用]
1 | //扫描图像的四种方法的比较 |
结果比较
不同的图片几种方法得到的执行时间差很大:
- 尽量使用 OpenCV 内置函数,调用LUT 函数可以获得最快的速度,这是因为OpenCV库可以通过英特尔线程架构启用多线程。
- 指针法也很快,但是前提是指针连续。
- .at()函数方法并不推荐被用来进行图像扫描。
程序解读
1.计算运算时间的方法
getTickCount() 返回CPU自某个事件以来走过的时钟周期数
getTickFrequency() 返回CPU一秒钟所走的时钟周期数
2.查找表缩短颜色空间
1 | uchar table[256]; |