文章作者 100test 发表时间 2007:03:10 18:18:44
来源 100Test.Com百考试题网
A B C D E F G H I J K L M N O P |
Delta= F - (A B C E G I J K) / 8 (A B C E G I J K) / 8就是F周围的像素的平均值, |
F=F Delta * Alpha |
A B C D E F G H I J K L M N O P |
Delta= A - (B E F) / 3 F=F Delta * Alpha |
Public Sub Sharp(Optional ByVal SharpDgree As Single = 0.3) Dim X As Long Dim Y As Long Dim Ix As Long Dim Iy As Long Dim Diff As Long Dim Diff1 As Long Dim Div1 As Single Dim Div2 As Single Dim Max As Long On Error GoTo ErrLine Max = 255 Done = False TimeFilter = timeGetTime TemplateSize = 1 Sensitivity = Sensitivity * 9 Div1 = 1 SharpDgree Div2 = -SharpDgree / 3 For X = 0 To OutPutWid - 1 For Y = 0 To OutPutHei -1 RR = ColOut(0, X, Y) * Div1 GG = ColOut(1, X, Y) * Div1 BB = ColOut(2, X, Y) * Div1 Ix = X 1 Iy = Y 1 R = ColOut(0, Ix, Iy) R = R ColOut(0, X, Iy) ColOut(0, Ix, Y) G = ColOut(1, Ix, Iy) G = G ColOut(1, X, Iy) ColOut(1, Ix, Y) B = ColOut(2, Ix, Iy) B = B ColOut(2, X, Iy) ColOut(2, Ix, Y) R = R * Div2 G = G * Div2 B = B * Div2 RR = RR R GG = GG G BB = BB B If RR < 0 Then RR = 0 If RR > Max Then RR = Max If GG < 0 Then GG = 0 If GG > Max Then GG = Max If BB < 0 Then BB = 0 If BB > Max Then BB = Max ColOut(0, X, Y) = RR ColOut(1, X, Y) = GG ColOut(2, X, Y) = BB Next Next Done = True TimeFilter = timeGetTime - TimeFilter Exit Sub ErrLine: Done = True MsgBox Err.Description End Sub |
Public TimeFilter As Long 用于记录滤镜处理所花费的时间 Dim RR As Long 用于保存红色分量 Dim GG As Long 用于保存绿色分量 Dim BB As Long 用于保存蓝色分量 |
二、柔化 柔化的算法和锐化相近似,不过作用正好相反,就是把当前点用周围几个点的平均值来代替。
计算方法:
具体的程序,我这里就不罗嗦了,大家只要把上面的程序小小改动一下就可以了。 原图: 柔化效果: 三、扩散 产生一种类似水彩画的效果。 算法很简单,就是将当前点用周围的随即的点来代替。
F点可以从它周围的A,B,C,E,G,I,J,K中任意选一点代替。 G点可以从它周围的B,C,D,F,H,J,K,L中任意选一点代替。 J点可以从它周围的E,F,G,I,K,M,N,O中任意选一点代替。 K点可以从它周围的F,G,H,J,L,N,O,P中任意选一点代替。 至于选哪一点,可以用一个随即数来选定。 原图: 扩散效果: 四、雕刻 将相邻的两个像素相减,得到的差加上127作为新的值
如果我们按照从左向右的方向来“雕刻”
如果我们按照从上向下的方向来“雕刻”
当然我们还可以从更多的方向来“雕刻”比如:向左下、右上、左上、右下...等等,一共8个可以选择的方向。 另外这个127,就是“雕刻”效果后的亮度。我们可以把雕刻方向和亮度都作为参数写到过程中
原图: 柔化效果: 这几个滤镜的算法都比较简单,很容易用VB来实现。 |
相关文章
VB图像处理之二次线性插值的应用
二级VisualFoxpro新大纲(一)
VB操作.ini后缀文件的方法
VB图像处理之几个常用滤镜的实现
从笔试看二级VFP复习
计算机等级二级考试VisualFoxPro宝典
VB图像处理之铅笔画算法和木雕算法
澳大利亚华人论坛
考好网
日本华人论坛
华人移民留学论坛
英国华人论坛