C#数字图象处理之肤色检测的方法
本文实例讲述了C#数字图象处理之肤色检测的方法。分享给大家供大家参考。具体如下:
//定义肤色检测函数(可供人脸检测等研究使用) public Bitmap SkinDetect1(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 r, g, Fupr,Flor,Wrg; for (int y = 0; y < a.Height; y++) { for (int x = 0; x < a.Width; x++) { P = pIn; B = P[0]; G = P[1]; R = P[2]; if (R + G + B == 0) { r = 0; g = 0; } else { r = (R / (R + G + B)); g = (G / (R + G + B)); } Fupr = (1.0743 * r + 0.1452-1.3767 * r * r) ; Flor = (0.5601 * r + 0.1766-0.776 * r * r); Wrg = (r - 0.33) * (r - 0.33) + (g - 0.33) * (g - 0.33); if ((R - G >= 45) && ((R > G) && (G > B)) && (Fupr > g) && (Wrg >= 0.0004)) { P[0] = (byte)B; P[1] = (byte)G; P[2] = (byte)R; } else { P[0] = 0; P[1] = 0; P[2] = 0; } pIn += 3; } pIn += stride - a.Width * 3; } } a.UnlockBits(bmpData); return a; }
效果图像:
希望本文所述对大家的C#程序设计有所帮助。
相关推荐
-
C#检测是否有u盘插入的方法
本文实例讲述了C#检测是否有u盘插入的方法.分享给大家供大家参考.具体如下: 该C#代码可监控是否有u盘插入,同时可以监控其它驱动器的变化 using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Text; using System.Windows.Forms; using System.Ru
-
使用C#获取远程图片 Form用户名与密码Authorization认证的实现
C#获取远程图片,需要Form用户名和密码的Authorization认证 复制代码 代码如下: using System;using System.Collections.Generic;using System.Drawing;using System.IO;using System.Linq;using System.Net;using System.Text;using System.Web;using System.Web.UI;using System.Web.UI.WebContr
-
C#修改及重置电脑密码DirectoryEntry实现方法
本文实例讲述了C#修改及重置电脑密码DirectoryEntry实现方法.分享给大家供大家参考.具体如下: C#修改电脑密码方法如下: /// <summary> /// 更改Windows帐户密码 /// </summary> /// <param name="username"></param> /// <param name="oldPwd"></param> /// <param
-
C#检测pc光驱里是否插入了光盘的方法
本文实例讲述了C#检测pc光驱里是否插入了光盘的方法.分享给大家供大家参考.具体如下: C# 检测pc光驱里是否插入了光盘,需要添加System.Management.dll 的引用 using System; using System.Management; namespace CDROMManagement { class WMIEvent { static void Main(string[] args) { WMIEvent we = new WMIEvent(); Management
-
C#使用伪随机数实现加密用户密码的方法
本文所述实例为使用伪随机数进行用户密码加密,这段代码为核心部分主要代码,需要配合其它的程序实现,感兴趣的读者可以自己进一步加以完善,不费话了,下面列出主要代码: using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.
-
C#图像处理之头发检测的方法
本文实例讲述了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.ReadWr
-
C#图像边缘检测(Roberts)的方法
本文实例讲述了C#图像边缘检测(Roberts)的方法.分享给大家供大家参考.具体如下: //定义roberts算子函数 private static Bitmap robert(Bitmap a) { int w = a.Width; int h = a.Height; try { Bitmap dstBitmap = new Bitmap(w, h, System.Drawing.Imaging.PixelFormat.Format24bppRgb); System.Drawing.Imag
-
C#判断密码强度的方法
本文实例讲述了C#判断密码强度的方法.分享给大家供大家参考.具体如下: 1.关于密码强度 密码强度有强弱之分,包含数字.字母和其他符号三者且长度不小于10的密码被称为强密码,只有其中一者或长度不大于6的密码是弱密码,其他密码是中等强度密码. 2.判断密码强弱的函数 /// <summary> /// 密码强度 /// </summary> private enum Strength { Invalid = 0, //无效密码 Weak = 1, //低强度密码 Normal = 2
-
C#实现回文检测的方法
本文实例讲述了C#实现回文检测的方法.分享给大家供大家参考.具体分析如下: 回文:称正读和反读都相同的字符序列为"回文",如"abba"."abccba".12321.123321是"回文","abcde"和"ababab"则不是"回文". Console.WriteLine("算法:请输入一个字符串!"); string str = Consol
-
C#数字图象处理之肤色检测的方法
本文实例讲述了C#数字图象处理之肤色检测的方法.分享给大家供大家参考.具体如下: //定义肤色检测函数(可供人脸检测等研究使用) public Bitmap SkinDetect1(Bitmap a) { Rectangle rect = new Rectangle(0, 0, a.Width, a.Height); System.Drawing.Imaging.BitmapData bmpData = a.LockBits(rect, System.Drawing.Imaging.ImageL
-
C#数字图象处理之图像灰度化方法
本文实例讲述了C#数字图象处理之图像灰度化方法.分享给大家供大家参考.具体如下: //定义图像灰度化函数 private static Bitmap PGray(Bitmap src) { int w = src.Width; int h = src.Height; //构建与原图像大小一样的模版图像 Bitmap dstBitmap = new Bitmap(src.Width, src.Height, System.Drawing.Imaging.PixelFormat.Format24bp
-
Python素数检测的方法
本文实例讲述了Python素数检测的方法.分享给大家供大家参考.具体如下: 因子检测: 检测因子,时间复杂度O(n^(1/2)) def is_prime(n): if n < 2: return False for i in xrange(2, int(n**0.5+1)): if n%i == 0: return False return True 费马小定理: 如果n是一个素数,a是小于n的任意正整数,那么a的n次方与a模n同余 实现方法: 选择一个底数(例如2),对于大整数p,如果2^(
-
js字符串转换成数字与数字转换成字符串的实现方法
js字符串转换成数字 将字符串转换成数字,得用到parseInt函数.parseInt(string) : 函数从string的开始解析,返回一个整数. 举例:parseInt('123') : 返回 123(int):parseInt('1234xxx') : 返回 1234(int): 如果解析不到数字,则将返回一个NaN的值,可以用isNaN()函数来检测: 举例 :var i = parseInt('abc');if (isNaN(i)){alert('NaN value');} 同样的
-
python opencv肤色检测的实现示例
1 椭圆肤色检测模型 原理:将RGB图像转换到YCRCB空间,肤色像素点会聚集到一个椭圆区域.先定义一个椭圆模型,然后将每个RGB像素点转换到YCRCB空间比对是否再椭圆区域,是的话判断为皮肤. YCRCB颜色空间 椭圆模型 代码 def ellipse_detect(image): """ :param image: 图片路径 :return: None """ img = cv2.imread(image,cv2.IMREAD_COLOR)
-
python数字图像处理之边缘轮廓检测
目录 引言 1.查找轮廓(find_contours) 2.逼近多边形曲线 引言 在前面的python数字图像处理简单滤波 中,我们已经讲解了很多算子用来检测边缘,其中用得最多的canny算子边缘检测. 本篇我们讲解一些其它方法来检测轮廓. 1.查找轮廓(find_contours) measure模块中的find_contours()函数,可用来检测二值图像的边缘轮廓. 函数原型为: skimage.measure.find_contours(array, level) array: 一个二值
-
Apeache启动不成功时,用命令行检测的方法
1,在配置Apache服务器时,经常要在httpd.conf 修改和添加一些代码,编写中,误写或者写错时,无法正常启动时,直接报错The requested operation has failed! 2,对于新手来说,并不容易找出Apache的配置错误处,这时候可以用命令行进行检测. 3,打开命令行cmd,进入黑屏中,输入httpd.exe -t 屏幕报错配置文件出错的地方 // httpd.exe 调用的时Apache/bin 下面的程序文件 ,所以要配置好坏境变量 //在黑屏行报其他错误时
-
JavaScript将数字转换成大写中文的方法
本文实例讲述了JavaScript将数字转换成大写中文的方法.分享给大家供大家参考.具体实现方法如下: function intToChinese ( str ) { str = str+''; var len = str.length-1; var idxs = ['','十','百','千','万','十','百','千','亿','十','百','千','万','十','百','千','亿']; var num = ['零','壹','贰','叁','肆','伍','陆','柒','捌',
-
asp.net实现中英文多域名检测的方法
本文实例讲述了asp.net实现中英文多域名检测的方法.分享给大家供大家参考,具体如下: 第一步:在前台页面中写入js代码和相关控件 /****写入js代码****/ <%-- 域名检测 --%> <script type="text/javascript"> //判断输入的是否为中文域名 function IsChDomain(domainStr) { var flag = false; var compStr = "ABCDEFGHIGKLMNOP
-
php实现TCP端口检测的方法
本文实例讲述了php实现TCP端口检测的方法.分享给大家供大家参考.具体如下: 该程序可以确认当前端口是否可用: <?php class Health { public static $status; public function __construct() { } public function check($ip, $port){ $sock = socket_create(AF_INET, SOCK_STREAM, SOL_TCP); socket_set_nonblock($sock)
随机推荐
- JavaScript数组的栈方法与队列方法详解
- js实现获取div坐标的方法
- FF IE兼容性的修改小结
- asp 删除数据库记录的代码
- asp实现一个统计当前在线用户的解决方案
- C#获取关键字附近文字算法实例
- 微信小程序电商常用倒计时实现实例
- JS获得QQ号码的昵称,头像,生日的简单实例
- XML指南——XML 语法
- 在java中使用dom解析xml的示例分析
- 在 Ubuntu 16.04 为 Nginx 服务器安装 LEMP 环境(MariaDB,PHP 7 并支持 HTTP 2.0)
- sql语句中单引号嵌套问题(一定要避免直接嵌套)
- jquery图片不完全按比例自动缩小的简单代码
- window.showModalDialog参数传递中含有特殊字符的处理方法
- Javascript 表格操作实现代码
- Windows2003 建立WEB服务器的图文教程
- Java中Equals使用方法汇总
- 仅利用30行Python代码来展示X算法
- c#操作xml帮助类分享(xml增删改查)
- Android学习之Fragment