C#圖像處理之頭發(fā)檢測(cè)的方法
本文實(shí)例講述了C#圖像處理之頭發(fā)檢測(cè)的方法。分享給大家供大家參考。具體如下:
//發(fā)色檢測(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; } //定義最小值函數(shù) public double Min(double a, double b, double c) { double e = (a <= b ? a : b) <= c ? (a <= b ? a : b) : c; return e; } //定義最大值函數(shù) public int Max(int a, int b, int c) { int e = (a >= b ? a : b) <= c ? c : (a >= b ? a : b); return e; }
結(jié)果圖像效果:
希望本文所述對(duì)大家的C#程序設(shè)計(jì)有所幫助。
相關(guān)文章
C#中調(diào)用DLL時(shí)未能加載文件或程序集錯(cuò)誤的處理方法(詳解)
下面小編就為大家?guī)硪黄狢#中調(diào)用DLL時(shí)未能加載文件或程序集錯(cuò)誤的處理方法(詳解)。小編覺得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2017-02-02在Parallel中使用DbSet.Add()發(fā)現(xiàn)的一系列多線程問題和解決思路詳解
這篇文章主要介紹了在Parallel中使用DbSet.Add()發(fā)現(xiàn)的一系列多線程問題和解決過程的相關(guān)資料,非常不錯(cuò),具有參考借鑒價(jià)值,需要的朋友可以參考下2016-11-11C# 打印網(wǎng)頁不顯示頁眉頁腳的實(shí)現(xiàn)方法
這篇文章主要介紹了C# 打印網(wǎng)頁不顯示頁眉頁腳的實(shí)現(xiàn)方法,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2020-01-01詳解Unity 實(shí)現(xiàn)語音識(shí)別功能
語言識(shí)別功能已經(jīng)在我們身邊普遍流行起來,在unity開發(fā)中語音識(shí)別也非?;馃?,今天就介紹下Unity自帶的語音識(shí)別功能的實(shí)現(xiàn),感興趣的朋友跟隨小編一起看看吧2021-05-05基于mvc5+ef6+Bootstrap框架實(shí)現(xiàn)身份驗(yàn)證和權(quán)限管理
最近剛做完一個(gè)項(xiàng)目,項(xiàng)目架構(gòu)師使用mvc5+ef6+Bootstrap,用的是vs2015,數(shù)據(jù)庫是sql server2014。下面小編把mvc5+ef6+Bootstrap項(xiàng)目心得之身份驗(yàn)證和權(quán)限管理模塊的實(shí)現(xiàn)思路分享給大家,需要的朋友可以參考下2016-06-06C#基礎(chǔ)知識(shí)之base關(guān)鍵字介紹
本文主要介紹base關(guān)鍵字的使用方法,base關(guān)鍵字可以調(diào)用基類重寫的方法,可以調(diào)用基類的構(gòu)造方法,還可以在EntityFramework中使用,下面一一介紹。2016-04-04深入理解C# abstract和virtual關(guān)鍵字
深入理解C# abstract和virtual關(guān)鍵字,學(xué)習(xí)c#的朋友可以參考下。2011-06-06