【EmguCv】眼睛和瞳孔定位(一)

定位思路

1.定位脸部
2. 将脸部分为左右两张图像
3. 分别在左右脸部图像中定位眼睛
4. 对眼睛进行模糊处理,寻找瞳孔
5. 得到瞳孔轮廓重心

一、脸部定位

public List<Image<Bgr, byte>> GetFaceImgList(Image<Bgr, byte> img)
        {
            CascadeClassifier faceClassifier = new CascadeClassifier("haarcascade_frontalface_default.xml");
            List<Image<Bgr, byte>> facelist = new List<Image<Bgr, byte>>();
            Rectangle[] faces = faceClassifier.DetectMultiScale(img, 1.3, 3, new Size(40, 40));
            try
            {
                foreach (Rectangle face in faces)
                {
                    CvInvoke.Rectangle(img, face, new Bgr(Color.Red).MCvScalar, 2);
                    CvInvoke.cvSetImageROI(img, face);
                    Image<Bgr, byte> roi = new Image<Bgr, byte>(face.Size);
                    CvInvoke.cvCopy(img, roi, IntPtr.Zero);
                    facelist.Add(roi);
                }
                if (facelist.Count != 0)
                    return facelist;
                else
                {
                    facelist.Add(img);
                    return facelist;
                }

            }
            catch (Exception ex)
            {
                MessageBox.Show("脸部检测失败,详细原因\n" + ex.Message + "\n" + ex.StackTrace);
                facelist.Add(img);
                return facelist;
            }
        }

二、眼睛定位

同脸部定位一样,用眼睛检测文件。

三、模糊处理

对眼部图像进行模糊处理,可以更好的得到瞳孔的轮廓

四、获取轮廓的重心

对瞳孔图像提取轮廓,计算轮廓的重心即眼睛的重心。

这里写图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

勇敢牛牛_

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值