当前位置:中国飞客联盟文章中心编程学习VB 语言 → VB图像处理之铅笔画算法和木雕算法

VB图像处理之铅笔画算法和木雕算法

减小字体 增大字体 作者:佚名  来源:转载  发布时间:2007-8-22 22:26:31
在这一篇中我将和大家讲述铅笔画算法和木雕算法和它们的实现。为什么我要把这两个算法放在一起说呢,因为这两个算法是非常相似的。首先要说一下人的眼睛对于图像的观察,人的眼睛对于灰度(亮度)的敏感要远远大于对色彩的敏感,而人的眼睛对于暖色调和冷色调的敏感有要远大于对一般色彩的敏感度。    经过大量的测试,人们得到了一个经验公式,来说明人的眼睛是如何识别亮度的: Gray = Red * 0.3 + Green * 0.6 + Blue * 0.1    而右因为人的眼睛对于绿色的敏感度最大,就有了一个更加近似的公式: Gray = Green    请大家再回想一下以前在用铅笔画眼睛看到的景色的时候,是如何做的呢?轮廓,对了,轮廓是什么呢?其实说白了就是灰度的一个跳变。因此我们只要设定一个阀值,把电脑上的图片中的像素的色彩转化为灰度,再把相邻的两个像素的灰度去比较,当灰度变化超过一定的量的时候,我们就判断它是轮廓。用铅笔把它描绘出来。    有了这个思路,我们就很容易把这个算法写出来了。 Public Sub Pencil(Optional ByVal Sensitivity As Long