图片的黑白处理(二值化)

本文介绍了如何使用VB.NET进行图片的黑白处理,即灰度图像的二值化。通过不同的二值化算法(平均值法、最大值法、加权平均值法)将图像转化为明显的黑白效果。代码示例展示了如何实现这一过程,包括计算像素的平均值、最大值和加权平均值以确定阈值,从而得到二值化的图像。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

原帖及讨论:http://bbs.370827.org/forum-75-1.html

原始圖片

黑白處理后圖片

原始圖片:

黑白處理后圖片:

部分处理代码:

VB.NET code

……
  Dim ts2 As IThresholder = New GlobalMeanThreshold(inbmp)
        Dim tsBMP As New Bitmap(PictureBox1.Width, PictureBox1.Height)
        ts2.RenderToBitmap(tsBMP)
        PictureBox6.Image = tsBMP
        PictureBox6.Height = PictureBox1.Height
        PictureBox6.Width = PictureBox1.Width
        PictureBox6.Left = 0
        PictureBox6.Top = 0
……
理论知识:
灰度图像的二值化处理就是讲图像上的点的灰度置为0或255,也就是讲整个图像呈现出明显的黑白效果。即将256个亮度等级的灰度图像通过适当的阀值选取而获得仍然可以反映图像整体和局部特征的二值化图像。在数字图像处理中,二值图像占有非常重要的地位,特别是在实用的图像处理中,以二值图像处理实现而构成的系统是很多的,要进行二值图像的处理与分析,首先要把灰度图像二值化,得到二值化图像,这样子有利于再对图像做进一步处理时,图像的集合性质只与像素值为0或255的点的位置有关,不再涉及像素的多级值,使处理变得简单,而且数据的处理和压缩量小。为了得到理想的二值图像,一般采用封闭、连通的边界定义不交叠的区域。所有灰度大于或等于阀值的像素被判定为属于特定物体,其灰度值为255表示,否则这些像素点被排除在物体区域以外,灰度值为0,表示背景或者例外的物体区域。如果某特定物体在内部有均匀一致的灰度值,并且其处在一个具有其他等级灰度值的均匀背景下,使用阀值法就可以得到比较的分割效果。如果物体同背景的差别表现不在灰度值上(比如纹理不同),可以将这个差别特征转换为灰度的差别,然后利用阀值选取技术来分割该图像。动态调节阀值实现图像的二值化可动态观察其分割图像的具体结果。

灰度图像的二值化没有固定的算法,根据图像区域中目标物体的不同而有不同的二值化算法.目前最主要的方法有:最大值法,平均值法,加权平均值法
如下边代码:
Private Function SetBitMapToBlackAndWhite(bmp As Bitmap) As Bitmap
    Try
        Dim height As Integer = bmp.Height
        Dim Width As Integer = bmp.Width
        Dim newBitMap As New Bitmap(Width, height)
        Dim pixel As Color
        For x As Integer = 0 To Width - 1
            For y As Integer = 0 To height - 1
                pixel = bmp.GetPixel(x, y)
                Dim r As Integer
                Dim g As Integer
                Dim b As Integer
                Dim Result As Integer
                Result = 0
                r = pixel.R
                g = pixel.G
                b = pixel.B
                Dim iType As Integer = 2
    

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值