圖像二值化的目的是最大限度的將圖象中感興趣的部分保留下來,在很多情況下,也是進(jìn)行圖像分析、特征提取與模式識(shí)別之前的必要的圖像預(yù)處理過程。這個(gè)看似簡(jiǎn)單的問題,在過去的四十年里受到國(guó)內(nèi)外學(xué)者的廣泛關(guān)注,產(chǎn)生了數(shù)以百計(jì)的閾值選取方法,但如同其他圖像分割算法一樣,沒有一個(gè)現(xiàn)有方法對(duì)各種各樣的圖像都能得到令人滿意的結(jié)果。
網(wǎng)站建設(shè)哪家好,找創(chuàng)新互聯(lián)公司!專注于網(wǎng)頁設(shè)計(jì)、網(wǎng)站建設(shè)、微信開發(fā)、小程序開發(fā)、集團(tuán)企業(yè)網(wǎng)站建設(shè)等服務(wù)項(xiàng)目。為回饋新老客戶創(chuàng)新互聯(lián)還提供了銅山免費(fèi)建站歡迎大家使用!
本文針對(duì)幾種經(jīng)典而常用的二值發(fā)放進(jìn)行了簡(jiǎn)單的討論并給出了其vb.net 實(shí)現(xiàn)。
1、P-Tile法
Doyle于1962年提出的P-Tile (即P分位數(shù)法)可以說是最古老的一種閾值選取方法。該方法根據(jù)先驗(yàn)概率來設(shè)定閾值,使得二值化后的目標(biāo)或背景像素比例等于先驗(yàn)概率,該方法簡(jiǎn)單高效,但是對(duì)于先驗(yàn)概率難于估計(jì)的圖像卻無能為力。
2、OTSU 算法(大津法)
OSTU算法可以說是自適應(yīng)計(jì)算單閾值(用來轉(zhuǎn)換灰度圖像為二值圖像)的簡(jiǎn)單高效方法。1978 OTSU年提出的最大類間方差法以其計(jì)算簡(jiǎn)單、穩(wěn)定有效,一直廣為使用。
3、迭代法(最佳閥值法)
(1). 求出圖象的最大灰度值和最小灰度值,分別記為Zl和Zk,令初始閾值為:
(2). 根據(jù)閾值TK將圖象分割為前景和背景,分別求出兩者的平均灰度值Z0和ZB:
式中,Z(i,j)是圖像上(i,j)點(diǎn)的象素值,N(i,j)是(i,j)點(diǎn)的權(quán)值,一般取1。
(3). 若TK=TK+1,則所得即為閾值,否則轉(zhuǎn)2,迭代計(jì)算。
4、一維最大熵閾值法
它的思想是統(tǒng)計(jì)圖像中每一個(gè)灰度級(jí)出現(xiàn)的概率 ,計(jì)算該灰度級(jí)的熵 ,假設(shè)以灰度級(jí)T分割圖像,圖像中低于T灰度級(jí)的像素點(diǎn)構(gòu)成目標(biāo)物體(O),高于灰度級(jí)T的像素點(diǎn)構(gòu)成背景(B),那么各個(gè)灰度級(jí)在本區(qū)的分布概率為:
O區(qū): i=1,2……,t
B區(qū): i=t+1,t+2……L-1
上式中的 ,這樣對(duì)于數(shù)字圖像中的目標(biāo)和背景區(qū)域的熵分別為:
對(duì)圖像中的每一個(gè)灰度級(jí)分別求取W=H0 +HB,選取使W最大的灰度級(jí)作為分割圖像的閾值,這就是一維最大熵閾值圖像分割法。
給你一個(gè)算方差的VB代碼:
'需要使用這個(gè)軟件的話,必須在Form1上畫三個(gè)Textbox控件,其中Text1和Text2是用來計(jì)算的數(shù)據(jù)源,Text3用來輸出結(jié)果。還需要一個(gè)按鈕,Caption屬性為計(jì)算
Private Sub Command1_Click()
Text3.text = Str(Text1.text ^ 2 - Text2.text ^ 2)'此處的“^ 2” 算的是平方差。如果要立方差,把^ 2中的 2 改為 3。要四次方就改為4。
End Sub
如果你實(shí)在不會(huì)做,用百度的信息傳輸功能給我發(fā)來你的郵箱地址,我將把程序給你。
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”以后結(jié)束對(duì)數(shù)據(jù)的載入。 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在另一個(gè)按鈕中輸入,得出標(biāo)準(zhǔn)差。
何必弄那么多個(gè)Textbox,給你寫個(gè)界面簡(jiǎn)潔的,建一個(gè)Text1,為數(shù)據(jù)錄入與結(jié)果的顯示,建兩個(gè)按鈕,一個(gè)算平均數(shù),一個(gè)算方差,代碼如下:
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 = "求平均數(shù)(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 "請(qǐng)輸入數(shù)據(jù)"
End If
End If
End Sub
分享題目:vb.net方差計(jì)算 方差計(jì)算程序
文章路徑:http://www.rwnh.cn/article8/doshsip.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站建設(shè)、服務(wù)器托管、網(wǎng)站改版、小程序開發(fā)、網(wǎng)頁設(shè)計(jì)公司、品牌網(wǎng)站設(shè)計(jì)
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)