opencv 调整窗口大小_C# 使用OpenCV在一张图片里寻找人脸

先上个效果图

63b4799cf631f2cca8ccdf3d82d01c3d.png

相关库的下载

例程中用到一个库叫做emgucv,是opencv\的net封装
编译打包好的稳定版,在这:https://sourceforge.net/projects/emgucv/files/emgucv/
如果要最新代码,在这里获取:https://github.com/emgucv/emgucv

 做个opencv人脸识别的小伙伴们可能会遇到这样的一个问题,如何下载haarcascade_frontalface_default.xml和haarcascade_frontalface_alt2.xml呢?
  OpenCV有已经自带了人脸的Haar特征分类器,有了那些IT大牛帮我们创建的这个分类器,我们便可的实现人脸的检查功能了,你只需要将他们下载到opencv的目录下。
  首先,进入网站
  https://github.com/opencv/opencv/tree/master/data/haarcascades
  点击这个文件。

haarcascade_frontalface_alt.xml路径:

https://github.com/opencv/opencv/edit/master/data/haarcascades_cuda/haarcascade_frontalface_alt.xml

这里还有其他的模型:

https://github.com/opencv/opencv/tree/master/data/haarcascades

https://github.com/opencv/opencv/tree/master/data/haarcascades_cuda

建立工程

首先建立一个C#工程.nuget上安装引用

31eee50f5535628315cf3e4e00335825.png

另外准备一张要识别的图片,放到编译输出目录.
接下来就是编辑代码了,后面所有代码都在main里

配置OpenCV使用显卡运算(如果支持的话)

使用显卡处理图像数据效率会很多,如果你的设备支持,最好打开,使用CvInvoke.HaveOpenCLCompatibleGpuDevice能返回是否支持.
配置CvInvoke.UseOpenCL能让OpenCV 启用或者停用 GPU运算

CvInvoke.UseOpenCL = CvInvoke.HaveOpenCLCompatibleGpuDevice;

构建级联分类器对象

emgu包里已经有训练好的数据了,文件名叫做"haarcascade_frontalface_alt.xml",就是上面添加的文件之一

var face = new CascadeClassifier("haarcascade_frontalface_alt.xml");

加载图像并作简单处理

在OpenCV中,大部分函数是处理灰度图的,包括这个识别物体,所以需要转成灰度图,然后再调整下亮度

//加载要识别的图片var img = new Imagebyte>(var img2 = new Imagebyte>(img.ToBitmap());//把图片从彩色转灰度
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值