prrsw的个人博客分享 http://blog.sciencenet.cn/u/prrsw

博文

Visual Basic与图像处理8

已有 2930 次阅读 2012-10-10 11:24 |系统分类:教学心得|关键词:学者| Visual, Basic与图像处理

Visual Basic与图像处理()

5、灰度线性变换

灰度线性变换也是一种典型的点运算,原理也比较简单,就是将图像中所有像素点的灰度按照线性函数进行变换,以Dimage表示目标图像,Simage表示源图像,灰度线性变换可以理解为:

Dimage=k*Simage+b

其中k为线性函数的斜率,b为线性函数在y轴上的截距。当k>1时,整个图像灰度的分布区域将变大,目标图像的整体对比度增大;反之,当k<1时,整个图像灰度的分布区域将变小,目标图像的整体对比度减小;而k=1时,目标图像所有像素点的灰度增大或者减小,使得图像整体变亮或者变暗,而图像的整体对比度并不发生改变。

有两种特殊情况,当k=1b=0时,目标图像与原图像;而当k=-1b=255时,目标图像的灰度正好与原图像反转,就是平时所说的反相。

对于给定的k值和b值,对图像进行灰度线性变换比较简单,软件界面与灰度化处理的程序类似,直接更改其中的几句代码即可,软件的运行界面如下:

灰度线性变换按钮对应的代码如下:

Private Sub cmdLinearTrans_Click()

    Dim i As Integer, j As Integer

    Dim PixelValue As Long

    Dim r As Integer, g As Integer, b As Integer

    Dim GrayValue As Integer

    Dim NGrayValue As Integer

   

    Dim k As Integer, t As Integer '改用字母t,避免与颜色值变量重复

    '设置目标图像的高度和宽度

    DestImHeight = SourceImHeight

    DestImWidth = SourceImWidth

   

    '设置目标PictureBox的大小

    PicDest.Height = DestImHeight

    PicDest.Width = DestImWidth

   

    k = Val(txtK)

    t = Val(txtB)

   

    '彩色图像的灰度线性变换

    For i = 0 To SourceImHeight - 1

        For j = 0 To SourceImWidth - 1

               PixelValue = PicSource.Point(j, i)

               r = PixelValue Mod 256

               g = (PixelValue 256) Mod 256

               b = PixelValue 65536

              '插入图像处理的过程,对r, g, b进行处理

               GrayValue = 0.3 * r + 0.59 * g + 0.11 * b

               NGrayValue = k * GrayValue + t

              

               If NGrayValue > 255 Then NGrayValue = 255 '如果超过255,统一设定为255

               If NGrayValue < 0 Then NGrayValue = 0 '如果小于0,统一设定为0

              

               PicDest.PSet (j, i), RGB(NGrayValue, NGrayValue, NGrayValue)

        Next j

    Next i

End Sub

特殊情况下,当k=-1b=255时,实现的是图像的反相,效果如下图所示:

  



https://m.sciencenet.cn/blog-648901-621037.html

上一篇:Visual Basic与图像处理7
下一篇:Visual Basic与图像处理9

1 张学文

该博文允许注册用户评论 请点击登录 评论 (0 个评论)

数据加载中...

Archiver|手机版|科学网 ( 京ICP备07017567号-12 )

GMT+8, 2024-5-5 18:32

Powered by ScienceNet.cn

Copyright © 2007- 中国科学报社

返回顶部