数字图像处理成长之路1:look up table

来源:互联网 发布:centos7安装nginx php 编辑:程序博客网 时间:2024/05/19 02:27

最近开始自学数字图像处理,学习了一段时间后也写了几个心得,从直方图均衡到边缘检测,接下来想学习特征检测,知识有些跳跃。要想在短时间了解一个知识的全貌,需要跳跃的学习,而要想巩固基础,需要细致研究。这就好象远看一座山,和走进一座山的区别。

从今天起,打算从头细致的学习数字图像处理,尽量的不放过任何一个知识点。

Look up table 简称LUT
计算机里出现的表,在我的理解来看,大多和加速有关。
lut也正是为了加速而生。

假如有一个100x100的图片,每个像素的取值0-255。
现在想对这个图片进行一些操作,比如让每个像素亮度缩小10倍,写成I/10,则我们需要计算100x100 = 10000便除法。
如果图片是1000*1000则我们需要计算1000000遍除法,可以想象这是多么的费时,速度会很慢。

下面我们看看如何用LUT加速上一过程,定义一个256长度的数组,其每个值等于I/10,I = 0, 1, 2, …254,255 然后开始扫描原图片,用图片中每一个像素的值作为索引,在LUT表中找到对应的值即可。

也就是说,无论这个图片多大,也都是由灰度值为0-256的像素组成的,256个旧值对因表中256个新值,接下来只要进行赋值操作就可以了。

应用LUT的步骤,第一步构建自己需要到的LUT,第二步替换。

参考资料
http://www.opencv.org.cn/opencvdoc/2.3.2/html/doc/tutorials/core/how_to_scan_images/how_to_scan_images.html#howtoscanimagesopencv

阅读全文
0 0