Blueherb In solitude, where we are least alone

图像处理相关内容介绍——灰度阈值变换

  阈值就是某种状态变化的临界值,门限数值。阈值花是灰度图片转二值化图的一种常用方法。图像二值化处理在图像分割、边缘跟踪等诸多领域都要用到,属于预处理方法中的一种。

  灰度阈值变换函数表达式

     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 

          

posted @   孤燕  阅读(927)  评论(0编辑  收藏  举报
编辑推荐:
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
阅读排行:
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· 单线程的Redis速度为什么快?
· Pantheons:用 TypeScript 打造主流大模型对话的一站式集成库
 
点击右上角即可分享
微信分享提示