vb.net方差计算 方差计算程序

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

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

网站建设哪家好,找创新互联公司!专注于网页设计、网站建设、微信开发、小程序开发、集团企业网站建设等服务项目。为回馈新老客户创新互联还提供了铜山免费建站欢迎大家使用!

本文针对几种经典而常用的二值发放进行了简单的讨论并给出了其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代码:

'需要使用这个软件的话,必须在Form1上画三个Textbox控件,其中Text1和Text2是用来计算的数据源,Text3用来输出结果。还需要一个按钮,Caption属性为计算

Private Sub Command1_Click()

Text3.text = Str(Text1.text ^ 2 - Text2.text ^ 2)'此处的“^ 2” 算的是平方差。如果要立方差,把^ 2中的 2 改为 3。要四次方就改为4。

End Sub

如果你实在不会做,用百度的信息传输功能给我发来你的邮箱地址,我将把程序给你。

怎样用VB计算标准差

Private Sub Command1_Click()

Do

a = Val(InputBox("a", a))

If a = 0 Then

Else

b = b + a

c = c + 1

End If

Loop Until a = 0 b = b / cText1.Text = b

End Sub 在输入“0”以后结束对数据的载入。 Private Sub Command2_Click()

Do

a = Val(InputBox("a", a))

If a = 0 Then

Else

b = b + Fix((Text1.Text - a) ^ 2 * 1000) / 1000

c = c + 1

End If

Loop Until a = 0

b = b

Print a, b

b = b / c

Print Sqr(b), c

End Sub在另一个按钮中输入,得出标准差。

VB 方差 的计算公式

何必弄那么多个Textbox,给你写个界面简洁的,建一个Text1,为数据录入与结果的显示,建两个按钮,一个算平均数,一个算方差,代码如下:

Dim a() As Single

Dim n As Integer

Dim s As Single

Private Sub Command1_Click()

Dim av As Single

av = s / n

Text1 = av

End Sub

Private Sub Command2_Click()

Dim av As Single, result As Single

av = s / n

Text1 = av

For i = 1 To n

result = result + (a(i) - av) ^ 2

Next

Text1 = result / n

End Sub

Private Sub Form_Load()

Text1.Text = ""

Command1.Caption = "求平均数(A)"

Command2.Caption = "求方差(Q)"

End Sub

Private Sub Text1_KeyPress(KeyAscii As Integer)

If KeyAscii = 13 Then

If Text1.Text "" Then

n = n + 1

ReDim Preserve a(1 To n)

a(n) = Text1

s = s + a(n)

Text1.Text = ""

Text1.SetFocus

Else

MsgBox "请输入数据"

End If

End If

End Sub


本文名称:vb.net方差计算 方差计算程序
网站链接:http://scyanting.com/article/doshsip.html