emgu cv 面部识别怎么更改那个框的颜色

emgu cv 面部识别怎么更改那个框的颜色,第1张

首先启动程序后。

然后点击取得连接,蓝色区域将会橘清显示远程摄像头采集的视频图像,

此时将捕捉人脸,并识别,

侧脸时,由于我使用的是之前训练的识别库,这个角度没法识别出我的脸,

调整角度后结果就如下图,识别出我的脸,并显示出在识别库对应的我的名字。

当点击训练识别时将调用笔记本的摄像头进行训练,界面如下(此段是参考别人的训练方法)

在训练框中的名字栏填写要的存储对应头像的人名。

训练完成后,关闭窗口,自动回调出远程视频连接。圆信前

再来测试一下识别能力

同为侧面角度,就能识别出人脸并检测了。

public partial class VideoForm : Form

{

private Image<Bgr, byte>currentImage//设置当前画面

Image<Gray, byte>result = null//返回帧

Image<Gray, byte>gray_frame = null//灰度帧

public HaarCascade Face = new HaarCascade(Application.StartupPath + "/Cascades/haarcascade_frontalface_alt2.xml")//载入训练库数据

MCvFont font = new MCvFont(FONT.CV_FONT_HERSHEY_COMPLEX, 0.5, 0.5)//设置摄像头字体

//Classifier with default training location

Classifier_Train Eigen_Recog = new Classifier_Train()//实例化坦链一个分类训练器

public VideoForm()

{

InitializeComponent()

}

private void showVideo(object sender, EventArgs e)

{ MyCaputre myCap = new MyCaputre()

string sourceURL = this.textBox1.Text

Bitmap bmp = myCap.myCaputre(sourceURL)

currentImage = new Image<Bgr, byte>(bmp)

markFace(currentImage)

pictureBox1.Image = new System.Drawing.Bitmap(currentImage.ToBitmap(), 850, 660)

}

private Image<Bgr, byte>markFace(Image<Bgr, byte>pic)

{

currentImage =currentImage.Resize(320, 240, Emgu.CV.CvEnum.INTER.CV_INTER_CUBIC)

if (currentImage != null)

{

gray_frame = currentImage.Convert<Gray, Byte>()

MCvAvgComp[][] facesDetected = gray_frame.DetectHaarCascade(Face, 1.2, 10, Emgu.CV.CvEnum.HAAR_DETECTION_TYPE.DO_CANNY_PRUNING, new Size(50, 50))

“Emgu.CV.CvInvoke”的类型初缓前冲始值设定项引发异常的解决方法具体步骤如下:

1.运行程序直接崩溃, 然后悔蚂debug时找到了在这里崩溃的。

2.查看详细信息, 点看左边的小三角, 发现了根源。

上面有一句: "{"无法加载 DLL“opencv_core231”: 找不到指定的模块。 (异常来自 HRESULT:0x8007007E)。"}"从网上下一个opencv_core231.dll放到debug文件夹中可以解决问题, 但毕竟不是长久之计。

3.重扰歼新点开引用添加界面。

4.把2.9的引用进来就解决问题了。

1、首先保证的电脑已经装好了openCV,并且保证环境变量已经设置好。具体参照OpenCV官方中文网站,写得很清楚。2、下载EmguCV压缩包,其实就是几个可以在VisualStudio2005/2008中引用OpenCV的函数的dll库。下的是1.50版,“Emgu.CV.Windows.Binary-1.5.0.0.zip”。解压该压缩包,并把其DLL拷贝在OpenCV安装目录下的Bin文件夹里。3、新建一个c#窗体应用程序,添加Bin目录下“Emgu.CV.dll”,“Emgu.Util.dll”等伍孝链DLL的引用,还有些窗体的控件,主要是将Emgu.CV.UI.dll加腔孙入工具箱慎谨中,加入後会出现ImageBox、HistogramCtrl。4、然后,再程序的开头中加上usingEmgu.CVusingEmgu.Util等命名空间之后就可以用EmguCV中所有的库函数了。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/8240158.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-14
下一篇 2023-04-14

发表评论

登录后才能评论

评论列表(0条)

保存