C#圖像處理之頭發(fā)檢測的方法
更新時(shí)間:2015年04月24日 10:09:56 作者:滄海一粟……
這篇文章主要介紹了C#圖像處理之頭發(fā)檢測的方法,可實(shí)現(xiàn)針對圖像中頭發(fā)的檢測功能,非常具有實(shí)用價(jià)值,需要的朋友可以參考下
本文實(shí)例講述了C#圖像處理之頭發(fā)檢測的方法。分享給大家供大家參考。具體如下:
//發(fā)色檢測(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é)果圖像效果:
希望本文所述對大家的C#程序設(shè)計(jì)有所幫助。
相關(guān)文章
C#中調(diào)用DLL時(shí)未能加載文件或程序集錯誤的處理方法(詳解)
下面小編就為大家?guī)硪黄狢#中調(diào)用DLL時(shí)未能加載文件或程序集錯誤的處理方法(詳解)。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2017-02-02在Parallel中使用DbSet.Add()發(fā)現(xiàn)的一系列多線程問題和解決思路詳解
這篇文章主要介紹了在Parallel中使用DbSet.Add()發(fā)現(xiàn)的一系列多線程問題和解決過程的相關(guān)資料,非常不錯,具有參考借鑒價(jià)值,需要的朋友可以參考下2016-11-11C# 打印網(wǎng)頁不顯示頁眉頁腳的實(shí)現(xiàn)方法
這篇文章主要介紹了C# 打印網(wǎng)頁不顯示頁眉頁腳的實(shí)現(xiàn)方法,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2020-01-01基于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-06深入理解C# abstract和virtual關(guān)鍵字
深入理解C# abstract和virtual關(guān)鍵字,學(xué)習(xí)c#的朋友可以參考下。2011-06-06