1. 程式人生 > 實用技巧 >影象處理相關內容介紹——灰度閾值變換

影象處理相關內容介紹——灰度閾值變換

  閾值就是某種狀態變化的臨界值,門限數值。閾值花是灰度圖片轉二值化圖的一種常用方法。影象二值化處理在影象分割、邊緣跟蹤等諸多領域都要用到,屬於預處理方法中的一種。

  灰度閾值變換函式表示式

     0    x<T

ƒ(x)=        (T為指定的閾值)

     255   x>=T

程式碼實現如下:

 1      /// <summary>
 2         /// 二值化帶閾值
 3         /// </summary>
 4         /// <param name="bitmap"></param>
 5         ///
<param name="Threshold"></param> 6 /// <returns></returns> 7 public static Bitmap Binarization(Bitmap bitmap,int Threshold) 8 { 9 Bitmap refbitmap = (Bitmap)bitmap.Clone();//建立副本 10 int ImageWidth = bitmap.Width; 11 int
ImageHeight = bitmap.Height; 12 for (int x = 0; x < ImageWidth; x++) 13 { 14 for (int y = 0; y < ImageHeight; y++) 15 { 16 Color Sourcecolor; 17 Sourcecolor = bitmap.GetPixel(x, y); 18 Color Deskcolor;
19 int gray = (Sourcecolor.R * 38 + Sourcecolor.G * 75 + Sourcecolor.B * 15) >> 7; //灰度轉換 20 if (gray > Threshold) 21 { 22 Deskcolor = Color.FromArgb(255, 255, 255); 23 } 24 else { 25 Deskcolor = Color.FromArgb(0, 0, 0); 26 } 27 28 refbitmap.SetPixel(x, y, Deskcolor);//替換副本畫素顏色 29 } 30 } 31 return refbitmap; 32 }

如有疑問,歡迎大家交流 QQ:1135692106