国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > C# > 正文

C#圖像灰度級拉伸的方法

2020-01-24 01:56:24
字體:
來源:轉載
供稿:網友

本文實例講述了C#圖像灰度級拉伸的方法。分享給大家供大家參考。具體如下:

//定義圖像灰度拉伸函數private static Bitmap GrayLP (Bitmap a){  Rectangle rect = new Rectangle(0, 0, a.Width, a.Height);  System.Drawing.Imaging.BitmapData srcData = a.LockBits(rect, System.Drawing.Imaging.ImageLockMode.ReadWrite, a.PixelFormat);  IntPtr ptr = srcData.Scan0;  int bytes = 0;  if (a.PixelFormat == System.Drawing.Imaging.PixelFormat.Format8bppIndexed)  { bytes = a.Width * a.Height; }  else { bytes = a.Width * a.Height * 3; }  byte[] grayValues = new byte[bytes];  System.Runtime.InteropServices.Marshal.Copy(ptr, grayValues, 0, bytes);  byte n = 255, m = 0;  double p;  //計算最大和最小灰度級  for (int i = 0; i < bytes; i++)  {   //計算最小灰度級   if (n > grayValues[i])   {     n = grayValues[i];   }           //計算最大灰度級   if (m < grayValues[i])   {     m = grayValues[i];   }  }  //得到斜率  p = 255.0 / (m - n);  //灰度拉伸  for (int i = 0; i < bytes; i++)  {   grayValues[i] = (byte)(p * (grayValues[i] - n) + 0.5);  }  System.Runtime.InteropServices.Marshal.Copy(grayValues, 0, ptr, bytes);  a.UnlockBits(srcData);  return a;}

希望本文所述對大家的C#程序設計有所幫助。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 庄浪县| 奈曼旗| 敖汉旗| 伊春市| 延津县| 新安县| 那坡县| 图们市| 神池县| 北宁市| 诏安县| 海伦市| 兰西县| 嘉兴市| 邹平县| 峨眉山市| 闸北区| 黄陵县| 仁化县| 拜泉县| 宾川县| 海伦市| 鹰潭市| 普格县| 高青县| 南郑县| 光泽县| 昭平县| 乐业县| 宁武县| 墨玉县| 胶南市| 衡东县| 桃源县| 海淀区| 云和县| 桐乡市| 莱芜市| 聊城市| 师宗县| 家居|