圖像二值化的目的是最大限度的將圖象中感興趣的部分保留下來,在很多情況下,也是進行圖像分析、特征提取與模式識別之前的必要的圖像預處理過程。這個看似簡單的問題,在過去的四十年里受到國內外學者的廣泛關注,產生了數以百計的閾值選取方法,但如同其他圖像分割算法一樣,沒有一個現有方法對各種各樣的圖像都能得到令人滿意的結果。
10余年的太倉網站建設經驗,針對設計、前端、開發、售后、文案、推廣等六對一服務,響應快,48小時及時工作處理。全網整合營銷推廣的優勢是能夠根據用戶設備顯示端的尺寸不同,自動調整太倉建站的顯示方式,使網站能夠適用不同顯示終端,在瀏覽器中調整網站的寬度,無論在任何一種瀏覽器上瀏覽網站,都能展現優雅布局與設計,從而大程度地提升瀏覽體驗。創新互聯公司從事“太倉網站設計”,“太倉網站推廣”以來,每個客戶項目都認真落實執行。
本文針對幾種經典而常用的二值發放進行了簡單的討論并給出了其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最大的灰度級作為分割圖像的閾值,這就是一維最大熵閾值圖像分割法。
不要分
灰度圖像的像素的取值范圍為
0-255,0代表黑,255代表最亮,中間值是不同的亮度
圖像二值化,就是通過某個判斷標準,將灰度圖像變成只有兩個值的圖像,即圖像值不是0,就是255
閾值,就是這個判斷標準,比如,如果閾值取100,那么圖像灰度小于等于100的像素,都變成0
圖像灰度大于100的,都變成255
在web上可以使用HTML5的特效實現。
在windows forms里面可以直接修改設置圖片的屬性。
Try
' 圖片位置初始化一個image1
Dim image1 As New Bitmap(
"C:\Documents and Settings\All Users\Documents\My Music\music.bmp",
True)
Dim x, y As Integer
' Loop through the images pixels to reset color.
For x = 0 To image1.Width - 1
For y = 0 To image1.Height - 1
Dim pixelColor As Color = image1.GetPixel(x, y)
Dim newColor As Color =
Color.FromArgb(pixelColor.R, 0, 0)
image1.SetPixel(x, y, newColor)
Next
Next
' Set the PictureBox to display the image.
PictureBox1.Image = image1
' Display the pixel format in Label1.
Label1.Text = "Pixel format: " + image1.PixelFormat.ToString()
Catch ex As ArgumentException
MessageBox.Show("There was an error." _
"Check the path to the image file.")
End Try
位圖本來就是一個二維的位數組,此數組的每一個元素與圖像的像素一一對應。位圖中的每個像素值指明了一個單位網格內圖像的平均顏色。
直接把數組循環輸出,每組值的(x,y)分別對應的是setpixel中此點的x坐標與y坐標。再把color設定成Color.Gray即可。
小示例(轉載)
Dim m As New Bitmap("D:\temp\1.png")‘隨便改成個啥,要存在的圖片
For i As Integer = 0 To 99
For j As Integer = 0 To 99
m.SetPixel(i, j, Color.Gray)
Next
Next
Me.PictureBox1.BackgroundImage = m
分享名稱:vb.net灰度圖像 灰度圖bmp
文章URL:http://vcdvsql.cn/article40/dopjeho.html
成都網站建設公司_創新互聯,為您提供品牌網站設計、App設計、網站維護、軟件開發、營銷型網站建設、外貿網站建設
聲明:本網站發布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創新互聯