亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 編程 > C# > 正文

基于c#圖像灰度化、灰度反轉、二值化的實現方法詳解

2020-01-24 03:17:56
字體:
來源:轉載
供稿:網友
圖像灰度化:
將彩色圖像轉化成為灰度圖像的過程成為圖像的灰度化處理。彩色圖像中的每個像素的顏色有R、G、B三個分量決定,而每個分量有255中值可取,這樣一個像素點可以有1600多萬(255*255*255)的顏色的變化范圍。而灰度圖像是R、G、B三個分量相同的一種特殊的彩色圖像,其一個像素點的變化范圍為255種,所以在數字圖像處理種一般先將各種格式的圖像轉變成灰度圖像以使后續的圖像的計算量變得少一些。灰度圖像的描述與彩色圖像一樣仍然反映了整幅圖像的整體和局部的色度和亮度等級的分布和特征。圖像的灰度化處理可用兩種方法來實現。
第一種方法使求出每個像素點的R、G、B三個分量的平均值,然后將這個平均值賦予給這個像素的三個分量。
第二種方法是根據YUV的顏色空間中,Y的分量的物理意義是點的亮度,由該值反映亮度等級,根據RGB和YUV顏色空間的變化關系可建立亮度Y與R、G、B三個顏色分量的對應:Y=0.3R+0.59G+0.11B,以這個亮度值表達圖像的灰度值。
復制代碼 代碼如下:

/// <summary>
      /// 圖像灰度化
      /// </summary>
      /// <param name="bmp"></param>
      /// <returns></returns>
      public static Bitmap ToGray(Bitmap bmp)
      {
          for (int i = 0; i < bmp.Width; i++)
          {
              for (int j = 0; j < bmp.Height; j++)
              {
                  //獲取該點的像素的RGB的顏色
                  Color color = bmp.GetPixel(i, j);
                  //利用公式計算灰度值
                  int gray = (int)(color.R * 0.3 + color.G * 0.59 + color.B * 0.11);
                  Color newColor = Color.FromArgb(gray, gray, gray);
                  bmp.SetPixel(i, j, newColor);
              }
          }
          return bmp;
      }

灰度反轉:
把每個像素點的R、G、B三個分量的值0的設為255,255的設為0。
復制代碼 代碼如下:

/// <summary>
      /// 圖像灰度反轉
      /// </summary>
      /// <param name="bmp"></param>
      /// <returns></returns>
      public static Bitmap GrayReverse(Bitmap bmp)
      {
          for (int i = 0; i < bmp.Width; i++)
          {
              for (int j = 0; j < bmp.Height; j++)
              {
                  //獲取該點的像素的RGB的顏色
                  Color color = bmp.GetPixel(i, j);
                  Color newColor = Color.FromArgb(255 - color.R, 255 - color.G, 255 - color.B);
                  bmp.SetPixel(i, j, newColor);
              }
          }
          return bmp;
      }

灰度圖像二值化:
在進行了灰度化處理之后,圖像中的每個象素只有一個值,那就是象素的灰度值。它的大小決定了象素的亮暗程度。為了更加便利的開展下面的圖像處理操作,還需要對已經得到的灰度圖像做一個二值化處理。圖像的二值化就是把圖像中的象素根據一定的標準分化成兩種顏色。在系統中是根據象素的灰度值處理成黑白兩種顏色。和灰度化相似的,圖像的二值化也有很多成熟的算法。它可以采用自適應閥值法,也可以采用給定閥值法。
復制代碼 代碼如下:

  /// <summary>
        /// 圖像二值化1:取圖片的平均灰度作為閾值,低于該值的全都為0,高于該值的全都為255
        /// </summary>
        /// <param name="bmp"></param>
        /// <returns></returns>
        public static Bitmap ConvertTo1Bpp1(Bitmap bmp)
        {
            int average = 0;
            for (int i = 0; i < bmp.Width; i++)
            {
                for (int j = 0; j < bmp.Height; j++)
                {
                    Color color = bmp.GetPixel(i, j);
                    average += color.B;                    
                }
            }
            average = (int)average / (bmp.Width * bmp.Height);

            for (int i = 0; i < bmp.Width; i++)
            {
                for (int j = 0; j < bmp.Height; j++)
                {
                    //獲取該點的像素的RGB的顏色
                    Color color = bmp.GetPixel(i, j);
                    int value = 255 - color.B;
                    Color newColor = value > average ? Color.FromArgb(0, 0, 0): Color.FromArgb(255,

255, 255);                   
                    bmp.SetPixel(i, j, newColor);
                }
            }
            return bmp;
        }

        /// <summary>
        /// 圖像二值化2
        /// </summary>
        /// <param name="img"></param>
        /// <returns></returns>
        public static Bitmap ConvertTo1Bpp2(Bitmap img)
        {
            int w = img.Width;
            int h = img.Height;
            Bitmap bmp = new Bitmap(w, h, PixelFormat.Format1bppIndexed);
            BitmapData data = bmp.LockBits(new Rectangle(0, 0, w, h), ImageLockMode.ReadWrite,

PixelFormat.Format1bppIndexed);
            for (int y = 0; y < h; y++)
            {
                byte[] scan = new byte[(w + 7) / 8];
                for (int x = 0; x < w; x++)
                {
                    Color c = img.GetPixel(x, y);
                    if (c.GetBrightness() >= 0.5) scan[x / 8] |= (byte)(0x80 >> (x % 8));
                }
                Marshal.Copy(scan, 0, (IntPtr)((int)data.Scan0 + data.Stride * y), scan.Length);
            }
            return bmp;
        }

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
日本午夜精品理论片a级appf发布| 久久精品亚洲一区| 日韩欧美在线免费观看| 国产精品老牛影院在线观看| 亚洲第一精品自拍| 最好看的2019的中文字幕视频| 欧美电影免费观看高清| 一区二区三区国产视频| 亚洲成年人在线播放| 久久人人爽人人爽爽久久| 国产精品久久久久久久久久东京| 国产精品福利网站| 欧美午夜无遮挡| 免费91麻豆精品国产自产在线观看| 日韩一区视频在线| 国产97在线|日韩| 国产成人在线精品| 亚洲精品福利在线观看| 欧美在线观看网址综合| 国模精品视频一区二区三区| 国产精品久久久久久久电影| 日韩成人av网址| 久久久久久国产精品三级玉女聊斋| 黄色成人在线播放| 久久免费视频在线观看| 综合av色偷偷网| 久久久久久久久久久网站| 国产精品三级久久久久久电影| 久久久久九九九九| 精品久久久久久国产| 精品国产一区二区三区久久久狼| 国产精品午夜国产小视频| 热99精品只有里视频精品| 成人免费视频在线观看超级碰| 久久精品电影网站| 久久综合免费视频影院| 亚洲美女中文字幕| 亚洲人成毛片在线播放| 亚洲男人7777| 亚洲精品一区二区网址| 欧美精品久久久久久久| 精品无人区太爽高潮在线播放| 91伊人影院在线播放| 亚洲美女av在线| 色婷婷综合久久久久中文字幕1| 午夜免费日韩视频| 亚洲欧美日韩在线一区| 日韩av黄色在线观看| 超碰97人人做人人爱少妇| 欧美性猛交xxxx乱大交3| 日韩成人中文字幕在线观看| 中文字幕久热精品视频在线| 久久综合久中文字幕青草| 亚洲精品日韩av| 精品国产一区二区三区久久| 另类美女黄大片| 日韩有码在线视频| 亚洲精品欧美日韩专区| 中文.日本.精品| 色哟哟入口国产精品| 欧美激情xxxx性bbbb| 成人精品网站在线观看| 97精品国产97久久久久久春色| 国产欧美亚洲视频| 日韩男女性生活视频| 中文字幕最新精品| 欧美成人免费网| 国产日本欧美一区二区三区| 成人h猎奇视频网站| 成人精品在线观看| 日日摸夜夜添一区| 九色精品美女在线| 国产精品视频自在线| 欧美寡妇偷汉性猛交| 69av在线视频| 在线成人一区二区| 狠狠色香婷婷久久亚洲精品| 欧美日韩国产成人高清视频| 97久久超碰福利国产精品…| 2019日本中文字幕| 一本色道久久综合狠狠躁篇怎么玩| 中文字幕国内精品| 国产精品一二三在线| 久久久免费在线观看| 亚洲奶大毛多的老太婆| 国产亚洲免费的视频看| 欧美日韩国产中文字幕| 欧美最顶级的aⅴ艳星| 91成人天堂久久成人| 国产精品一区专区欧美日韩| 国产一区欧美二区三区| 欧美成人精品一区二区三区| 亚洲精品视频久久| 这里只有精品视频在线| 欧美午夜精品久久久久久人妖| 亚洲欧美制服丝袜| 国产亚洲精品久久久| 综合网中文字幕| 日韩视频免费在线| 亚洲老板91色精品久久| 国产精品夜间视频香蕉| 欧美日本国产在线| 日韩精品视频在线观看网址| 久久久国产精彩视频美女艺术照福利| 精品久久久久久久大神国产| 亚洲xxx视频| 欧美大人香蕉在线| 亚洲欧美日韩中文在线制服| 欧美不卡视频一区发布| 成人黄色中文字幕| 亚洲欧美国产高清va在线播| 动漫精品一区二区| 国产成人自拍视频在线观看| 国产精品99导航| 亚洲香蕉av在线一区二区三区| 国语自产精品视频在线看一大j8| 成人h视频在线观看播放| 国产亚洲欧洲在线| 欧美日韩一区二区三区在线免费观看| 久久久久久久久久久免费| 亚洲裸体xxxx| 欧美视频中文字幕在线| 日韩精品久久久久| 亚洲精品一区二区久| 丝袜亚洲另类欧美重口| 成人精品视频99在线观看免费| 亚洲国产三级网| 亚洲成人精品视频| 国产视频自拍一区| 欧美日韩xxxxx| 久久精品精品电影网| 北条麻妃一区二区在线观看| 成人欧美一区二区三区在线| 亚洲成人激情在线观看| 欧美在线观看网址综合| 8x海外华人永久免费日韩内陆视频| 久久久999精品| 国产精品久久久久久久久久久久| 韩国福利视频一区| 国产一区二区免费| 午夜精品一区二区三区在线视频| 92看片淫黄大片看国产片| 日韩在线视频免费观看高清中文| 久久久国产精品免费| 国产精品一区二区三| 91中文字幕在线| 国产精品久久久久久久天堂| 668精品在线视频| 91九色视频导航| 亚洲黄页网在线观看| 欧美在线视频一二三| 日韩美女在线播放| 国产精品成人一区二区| 亚洲国产高潮在线观看| 91国内产香蕉| 精品亚洲一区二区三区在线观看| 亚洲一区二区三区乱码aⅴ蜜桃女| 狠狠干狠狠久久| 欧美国产日韩xxxxx| 疯狂蹂躏欧美一区二区精品| 国产精品一区久久久| 91在线免费观看网站| 亚洲天堂成人在线视频| 欧美精品在线播放|