使用 opencv 检测视频中人脸的时候,怎么实时返回人脸个数?

2019-07-07 23:09:46 +08:00
 Ahs

我遇到的问题是在检测到视频中人脸后,可以把人脸实时显示出来,但是怎么把这个值通过返回值实时返回呢? 类似于

import numpy as np
import cv2
cap = cv2.VideoCapture(0)
while(True):
	#capture frame-by-frame
    ret , frame = cap.read()
    检测人脸操作略。。。
    #display the resulting frame
    cv2.imshow('frame',gray)
    if cv2.waitKey(1) &0xFF ==ord('q'):  #按 q 键退出
    	break
#when everything done , release the capture
cap.release()
cv2.destroyAllWindows()

怎么改成一个其他人可以调用的函数,实时返回人脸的个数呢?因为返回的同时还要实时显示,非科班出身,思路受限,谷歌没得到想要的结果,希望大佬点拨下,给个思路

2665 次点击
所在节点    Python
7 条回复
cz5424
2019-07-08 08:35:34 +08:00
谷歌 dlib 库示例
chesterzzy
2019-07-08 09:24:51 +08:00
不是都拿到检测的结果了吗,直接一个 len 不就得到个数了。不拿到结果也不可能画在图上的啊
Xavier001
2019-07-08 10:04:08 +08:00
库函数得到结果里就包含所有检测到的脸啊
Ahs
2019-07-08 11:33:03 +08:00
老师让我把函数做成 API,供其他的函数调用,实时显示人脸框很好理解,如果返回此时刻的人脸识别结果,那么检测行为就结束了,能不能在不影响人脸检测过程的行为,同时把结果让其他函数知道,我现在的想法是,就检测到的人脸结果写到 txt 文件,其他函数可以读 txt 得到结果,感觉像非正规军做的😂
moodasmood
2019-07-08 11:49:52 +08:00
@Ahs 写到 txt 你可太秀了,你弄个静态变量,写变量里不就完事了,请求接口就返回变量值啊
gauzung
2019-07-08 11:55:22 +08:00
返回的人脸数组,数组长度就是人脸个数
Ahs
2019-07-08 13:46:46 +08:00
@moodasmood😂😂谢谢 我去试试

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/580825

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX