C#图像处理之头发检测的方法
作者:沧海一粟…… 时间:2023-11-08 22:10:28
本文实例讲述了C#图像处理之头发检测的方法。分享给大家供大家参考。具体如下:
//发色检测(YCbCr颜色空间)
public Bitmap HairD(Bitmap a)
{
Rectangle rect = new Rectangle(0, 0, a.Width, a.Height);
System.Drawing.Imaging.BitmapData bmpData = a.LockBits(rect, System.Drawing.Imaging.ImageLockMode.ReadWrite, System.Drawing.Imaging.PixelFormat.Format24bppRgb);
int stride = bmpData.Stride;
unsafe
{
byte* pIn = (byte*)bmpData.Scan0.ToPointer();
byte* p;
int R, G, B;
double Cr, Cb,BrightV;
for (int y = 0; y < a.Height; y++)
{
for (int x = 0; x < a.Width; x++)
{
p = pIn;
R = p[2];
G = p[1];
B = p[0];
Cb = 128 - 37.797 * R / 255 - 74.203 * G / 255 + 112 * B / 255;
Cr = 128 + 112 * R / 255 - 93.768 * G / 255 - 18.214 * B / 255;
BrightV = (R + G + B) / 3;
if (!(Cb >= 115 && Cb <= 141 && Cr >= 115 && Cr <= 143 && (R < 35)))
{
pIn[0] = (byte)255;
pIn[1] = (byte)255;
pIn[2] = (byte)255;
}
pIn += 3;
}
pIn += stride - a.Width * 3;
}
}
a.UnlockBits(bmpData);
return a;
}
//定义最小值函数
public double Min(double a, double b, double c)
{
double e = (a <= b ? a : b) <= c ? (a <= b ? a : b) : c;
return e;
}
//定义最大值函数
public int Max(int a, int b, int c)
{
int e = (a >= b ? a : b) <= c ? c : (a >= b ? a : b);
return e;
}
结果图像效果:
希望本文所述对大家的C#程序设计有所帮助。
标签:C#,图像
0
投稿
猜你喜欢
浅谈C#中ListView类的用法
2022-03-01 16:50:51
Java即将引入新对象类型来解决内存使用问题
2023-03-30 18:12:42
Java 实现FTP服务实例详解
2023-06-18 10:45:25
MyBatis实现多表联合查询resultType的返回值
2023-03-11 22:25:37
C# 添加对System.Configuration.dll文件的引用操作
2022-03-05 22:20:31
Android ListView实现上拉加载下拉刷新和滑动删除功能
2021-09-24 19:08:04
JAVA抽象类,接口,内部类详解
2023-11-09 16:37:25
JVM代码缓存区CodeCache原理及用法解析
2023-08-09 06:02:29
Spring在SingleTon模式下的线程安全详解
2021-10-08 11:39:31
C#归并排序的实现方法(递归,非递归,自然归并)
2023-10-03 01:00:36
Swing常用组件之单选按钮和复选框
2023-02-15 13:35:05
java 中HashCode重复的可能性
2021-09-13 17:38:05
C#执行存储过程并将结果填充到GridView的方法
2022-08-08 06:25:38
Android实现美团外卖底部导航栏动画
2022-09-21 20:09:13
详解Java实现设计模式之责任链模式
2023-11-08 10:32:07
java 算法之归并排序详解及实现代码
2021-12-27 01:52:11
详解spring boot rest例子
2021-06-02 21:54:46
深入理解Java垃圾回收机制以及内存泄漏
2023-09-24 22:45:13
C#中foreach语句深入研究
2022-11-15 00:30:17
win10下配置java环境变量的方法
2022-08-23 17:10:11