教程集 www.jiaochengji.com
教程集 >  脚本编程  >  Vb.net  >  正文 VB图像处理,(四)几个常用滤镜的实现2

VB图像处理,(四)几个常用滤镜的实现2

发布时间:2018-09-23   编辑:jiaochengji.com
教程集为您提供VB图像处理,(四)几个常用滤镜的实现2等资源,欢迎您收藏本站,我们将为您提供最新的VB图像处理,(四)几个常用滤镜的实现2资源
上一次,我们讲了锐化、柔化、扩散、雕刻这几个滤镜的算法和实现
请参考《VB图像处理,(三)几个常用滤镜的实现1 》
在这一篇中我将和大家讲述铅笔画算法和木雕算法和它们的实现。
为什么我要把这两个算法放在一起说呢,因为这两个算法是非常相似的。
首先要说一下人的眼睛对于图像的观察,人的眼睛对于灰度(亮度)的敏感
要远远大于对色彩的敏感,而人的眼睛对于暖色调和冷色调的敏感有要远大于
对一般色彩的敏感度。
经过大量的测试,人们得到了一个经验公式,来说明人的眼睛是如何识别亮度的:
Gray = Red * 0.3 Green * 0.6 Blue * 0.1
而右因为人的眼睛对于绿色的敏感度最大,就有了一个更加近似的公式:
Gray = Green
请大家再回想一下以前在用铅笔画眼睛看到的景色的时候,是如何做的呢?
轮廓,对了,轮廓是什么呢?其实说白了就是灰度的一个跳变。
因此我们只要设定一个阀值,把电脑上的图片中的像素的色彩转化为灰度,再把
相邻的两个像素的灰度去比较,当灰度变化超过一定的量的时候,我们就判断它是轮廓。
用铅笔把它描绘出来。
有了这个思路,我们就很容易把这个算法写出来了。
Public Sub Pencil(Optional ByVal Sensitivity As Long = 25)
Dim I As Long
Dim L As Long
Dim M As Long
Dim N As Long
Dim Col As Long
Dim ColNext As Long
'On Error GoTo ErrLine
If Not CanPut Then Exit Sub
Done = False
TimeFilter = timeGetTime
For I = 0 To OutPutWid - 1
M = I 1
For L = 0 To OutPutHei - 1
N = L 1
Col = ColOut(0, I, L) * 3 ColOut(1, I, L) * 6 ColOut(2, I, L)
Col = Col 10 '当前点的灰度哦。
ColNext = ColOut(0, M, N) * 3 ColOut(1, M, N) * 6 ColOut(2, M, N)

您可能感兴趣的文章:
VB图像处理,(四)几个常用滤镜的实现2
VB图像处理,(三)几个常用滤镜的实现1
photoshop外挂滤镜KnockOut2抠出透明效果玻璃杯教程
Photoshop利用风滤镜和涂抹工具制作大气立体足球场图标教程
CSS 滤镜效果:模糊、灰度、亮度等
photoshop利用滤镜制作逼真烟雾图片教程
VB图像处理,(五)图像的色彩纠正
photoshop树滤镜使用技巧心得分享
photoshop用置换滤镜制作逼真的毛巾字效果教程
canvas学习和滤镜实现代码

[关闭]
~ ~