[问题] opencv 多人脸侦测问题

楼主: s501082001 (曹草逼)   2016-05-18 16:23:22
这是我参考的网站,逍遥文工作室 opencv 人脸侦测
https://cg2010studio.com/2011/04/26/opencv-%E4%BA%BA%E8%87%89%E5%81%B5%E6%B8%AC-face-detection/
想请问版上先进,目前希望能把opencv的人脸侦测程式中侦测到的人脸储存成图像档案,
但是遇到一个很奇怪的问题。
就是如果一开始先侦测到是自己的人脸时,它有储存一张人脸影像下来,但是如果我再拿
一张照片上有人脸影像的人员(里面只有一个人,并且现在摄影机前面有两个人脸)时,照
片上被侦测到的人脸没有被储存下来,反而还是储存到自己的人脸。
再for(int i = 0 ; i < faces->total ; i++) 这行有看i 值的变化,发现第一个人进来
时,索引值是0,但是加入照片后,照片这边索引值变成0,反而第一个人索引值变成1
然后我先把照片先拿来人脸侦测,索引值是0,加入我自己进去侦测时,索引值是1,反而
又没出现问题
想请问这是什么原因呢? 是否有办法根据人进来的先后顺序来储存人脸呢?
如果文字叙述表达不清楚或是不够详细,麻烦再跟我说,谢谢大家
作者: soheadsome (师大狗鼻哥)   2016-05-18 21:06:00
感觉又是reference的问题
楼主: s501082001 (曹草逼)   2016-05-18 21:29:00
reference? 不太懂您的意思
作者: soheadsome (师大狗鼻哥)   2016-05-18 21:39:00
c++ reference 请google
作者: longlongint (华哥尔)   2016-05-18 23:13:00
你画张图吧
楼主: s501082001 (曹草逼)   2016-05-19 01:06:00
http://imgur.com/wE6rhLb 这是只有一人的时候这时候侦测到的人脸索引是0http://imgur.com/yGegZWK 这是有两人的时候这时候索引会变成 照片为1 真人为0然后如我上面所述,假设人先进来,然后照片在进来索引 人 = 0 照片 = 1 这样是没错的但是如果 照片先进来 人再进来索引 会变成 人 = 0 照片 =1 这样就错误了想请问是否有办法根据先侦测到的人脸来做索引麻烦大家了,目前卡在这个问题上
作者: IKAFIRE (没有)   2016-05-19 02:47:00
这个是tracking问题了人脸侦测就是只能侦测哪里有脸,至于是不是同一张脸就要另外做data association
楼主: s501082001 (曹草逼)   2016-05-19 12:22:00
谢谢您提供的意见,目前已人脸追踪为关键字找解决办法目前还没有进展,然后还有现在在想是否有其他方法目前测试的方法是自己设定变量来索引人脸http://imgur.com/A8aOib6 这是其中一部份的程式其中 k 就是自己设定的程式,我目前是根据当前的人脸数目让k 一直累加并且当大于当前人脸数目时在变回0可是它索引还是很奇怪,有时正确有时错误目前都是以实际的人与照片做测试,两个人脸
作者: IKAFIRE (没有)   2016-05-19 23:14:00
看不懂你的k想做什么如果k初始值是0的话那就只是k=i+1再绕回零而已,对于人脸匹配应该是没有什么帮助
楼主: s501082001 (曹草逼)   2016-05-22 13:38:00
我在想一下要怎么做,谢谢您的回复

Links booklink

Contact Us: admin [ a t ] ucptt.com