影象處理相關內容介紹——灰度閾值變換
阿新 • • 發佈:2020-12-28
閾值就是某種狀態變化的臨界值,門限數值。閾值花是灰度圖片轉二值化圖的一種常用方法。影象二值化處理在影象分割、邊緣跟蹤等諸多領域都要用到,屬於預處理方法中的一種。
灰度閾值變換函式表示式
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 intImageHeight = 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