vb.net卷积实现的简单介绍

几种经典的二值化方法及其vb.net实现

图像二值化的目的是最大限度的将图象中感兴趣的部分保留下来,在很多情况下,也是进行图像分析、特征提取与模式识别之前的必要的图像预处理过程。这个看似简单的问题,在过去的四十年里受到国内外学者的广泛关注,产生了数以百计的阈值选取方法,但如同其他图像分割算法一样,没有一个现有方法对各种各样的图像都能得到令人满意的结果。

成都创新互联于2013年开始,先为立山等服务建站,立山等地企业,进行企业商务咨询服务。为立山企业网站制作PC+手机+微官网三网同步一站式服务解决您的所有建站问题。

本文针对几种经典而常用的二值发放进行了简单的讨论并给出了其vb.net 实现。

1、P-Tile法

Doyle于1962年提出的P-Tile (即P分位数法)可以说是最古老的一种阈值选取方法。该方法根据先验概率来设定阈值,使得二值化后的目标或背景像素比例等于先验概率,该方法简单高效,但是对于先验概率难于估计的图像却无能为力。

2、OTSU 算法(大津法)

OSTU算法可以说是自适应计算单阈值(用来转换灰度图像为二值图像)的简单高效方法。1978 OTSU年提出的最大类间方差法以其计算简单、稳定有效,一直广为使用。

3、迭代法(最佳阀值法)

(1). 求出图象的最大灰度值和最小灰度值,分别记为Zl和Zk,令初始阈值为:

(2). 根据阈值TK将图象分割为前景和背景,分别求出两者的平均灰度值Z0和ZB:

式中,Z(i,j)是图像上(i,j)点的象素值,N(i,j)是(i,j)点的权值,一般取1。

(3). 若TK=TK+1,则所得即为阈值,否则转2,迭代计算。

4、一维最大熵阈值法

它的思想是统计图像中每一个灰度级出现的概率 ,计算该灰度级的熵 ,假设以灰度级T分割图像,图像中低于T灰度级的像素点构成目标物体(O),高于灰度级T的像素点构成背景(B),那么各个灰度级在本区的分布概率为:

O区: i=1,2……,t

B区: i=t+1,t+2……L-1

上式中的 ,这样对于数字图像中的目标和背景区域的熵分别为:

对图像中的每一个灰度级分别求取W=H0 +HB,选取使W最大的灰度级作为分割图像的阈值,这就是一维最大熵阈值图像分割法。

使用vb.net编写一个函数,函数只有一个参数

首先在窗体上添加Button1,ListBox1,下面是完整代码

Public Class Form1

Public Sub BubbleSort(ByVal arr() As Integer) '冒泡法排序

Dim temp As Double

Dim i, j As Integer

For i = 0 To arr.GetUpperBound(0) - 1

For j = i + 1 To arr.GetUpperBound(0) - 1

If arr(i)  arr(j) Then

temp = arr(j)

arr(j) = arr(i)

arr(i) = temp

End If

Next

Next

End Sub

Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click '调用

Dim arr() As Integer = {55, 22, 33, 11, 77, 88}

BubbleSort(arr) '调用排序过程

Me.ListBox1.Items.Clear()

For i = 0 To arr.GetUpperBound(0) - 1 '显示排序后结果

Me.ListBox1.Items.Add(arr(i).ToString)

Next

End Sub

End Class

请问在VB.net 中能不能实现这种功能

基本思路:

1,设置绘图区域的坐标。

2,将每个站点的坐标(x,y)保存到数组。

3,通过鼠标单击点的坐标(x,y)与数组比较,然后确定显示相应信息。


网站名称:vb.net卷积实现的简单介绍
标题链接:http://scyanting.com/article/doocghs.html