科技行者

行者学院 转型私董会 科技行者专题报道 网红大战科技行者

知识库

知识库 安全导航

至顶网软件频道基础软件VB图像处理之几个常用滤镜的实现

VB图像处理之几个常用滤镜的实现

  • 扫一扫
    分享文章到微信

  • 扫一扫
    关注官方公众号
    至顶头条

前面讲到了二次线性插值的应用。这一篇来给大家讲一下关于锐化、柔化、扩散、雕刻这几个滤镜的实现

作者:WallesCai 来源:CSDN 2007年10月14日

关键字:

  • 评论
  • 分享微博
  • 分享邮件
二、柔化

  柔化的算法和锐化相近似,不过作用正好相反,就是把当前点用周围几个点的平均值来代替。

A B C D
E F G H
I J K L
M N O P

  计算方法:

F=(A+B+C+E+F+G+I+J+K) / 9
G=(B+C+D+F+G+H+J+K+L) / 9
...
...

  具体的程序,我这里就不罗嗦了,大家只要把上面的程序小小改动一下就可以了。

  原图:


  柔化效果:


  三、扩散

  产生一种类似水彩画的效果。

  算法很简单,就是将当前点用周围的随即的点来代替。

A B C D
E F G H
I J K L
M N O P

  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作为新的值

A B C D
E F G H
I J K L
M N O P

  如果我们按照从左向右的方向来“雕刻”

A=B-A+127
B=C-B+127
C=D-C+127
...

  如果我们按照从上向下的方向来“雕刻”

A=E-A+127
B=F-B+127
C=G-C+127
...

  当然我们还可以从更多的方向来“雕刻”比如:向左下、右上、左上、右下...等等,一共8个可以选择的方向。

  另外这个127,就是“雕刻”效果后的亮度。我们可以把雕刻方向和亮度都作为参数写到过程中

Public Sub Emboss(Optional EmbossDirection As Integer , Optional Lighteness As Integer)
...

  原图:


  柔化效果:


  这几个滤镜的算法都比较简单,很容易用VB来实现。

查看本文来源

    • 评论
    • 分享微博
    • 分享邮件
    邮件订阅

    如果您非常迫切的想了解IT领域最新产品与技术信息,那么订阅至顶网技术邮件将是您的最佳途径之一。

    重磅专题
    往期文章
    最新文章