网站导航免费论文 原创论文 论文搜索 原创论文 网学软件 学术大家 资料中心 会员中心 问题解答 原创论文 大学论文导航 设计下载 最新论文 下载排行 原创论文 论文源代码
返回网学首页
网学联系
最新论文 推荐专题 热门论文 素材专题
当前位置: 网学 > 编程文档 > VB.net > 正文

VB.NET图片的黑白处理法(二值化)

来源:http://myeducs.cn 联系QQ:点击这里给我发消息 作者: 用户投稿 来源: 网络 发布时间: 14/07/12

以下是网学网为您推荐的VB.net-VB.NET图片的黑白处理法(二值化),希望本篇文章对您学习有所帮助。

  原始图片

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

  黑白处理后图片

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

  原始图片:

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

  黑白处理后图片:

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

  部分处理代码:

  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

  Select Case iType

  Case 0

  ''平均值法

  Result = (r + g + b) / 3

  Exit Select

  Case 1

  ''最大值法

  If (r > g) Then

  Result = r

  Else

  Result = g

  End If

  If (Result > b) Then

  Result = Result

  Else

  Result = b

  End If

  Exit Select

  Case 2

  ''加权平均值

网学推荐

免费论文

原创论文

设为首页 | 加入收藏 | 论文首页 | 论文专题 | 设计下载 | 网学软件 | 论文模板 | 论文资源 | 程序设计 | 关于网学 | 站内搜索 | 网学留言 | 友情链接 | 资料中心
版权所有 QQ:3710167 邮箱:3710167@qq.com 网学网 [Myeducs.cn] 您电脑的分辨率是 像素
Copyright 2008-2015 myeducs.Cn www.myeducs.Cn All Rights Reserved 湘ICP备09003080号