基于opencv进而dlib算法进行人脸检测方法
友友们你们好呀! 周末最后一作,搞完快点睡觉QAQ。废话不多说,赶紧进入正题吧,本篇文章将简要讲述用OpenCV和dlib算法库实现人脸检测的应用(又是调库操作(小声))
模型结果预览
这里将人脸识别框画出并且将框抠走放在图片的左上角
数据准备
俗话说:“工欲善其事必先利其器”。那么在学习图像处理领域方面,器一定就是数据集了,此处由于仅对图像做检测识别,所以相关的数据集就是照片了,当然dlib也是支持视频流人脸检测识别的,大家有兴趣的话可以查看一下下面的网址链接带你走进dlib 此处我们的照片就是上面出现过的啦。 不要问我为啥选这张照片(qaq可能是有种说不上来的感觉吧pass—)
代码实现与调用dlib库
代码注释很详细,就不再赘述了,如果有问题欢迎留言评论!
import cv2
import dlib
img = cv2.imread("girl.jpg")
detector = dlib.get_frontal_face_detector()
faceRects = detector(img)
num=0
for box_info in faceRects:
num+=1
x_min, y_min, x_max, y_max = box_info.left(), box_info.top(), box_info.right(), box_info.bottom()
cv2.rectangle(img, (x_min, y_min), (x_max, y_max), (0, 0, 255), 3)
img_crop = img[y_min:y_max, x_min:x_max]
img[10:y_max-y_min+10,20:x_max-x_min+20]=img_crop
img = cv2.resize(img, (500, 600))
cv2.waitKey(0)
cv2.putText(img, "face_count:"+str(num), (5, 5), cv2.FONT_HERSHEY_SIMPLEX, 3, (0, 0, 255),5)
cv2.imshow("image",img)
cv2.waitKey(0)
心得体会
周末最后一作,总算在午夜前结束,头顶的灯已经熄灭,繁忙的一周,第二天又是新的一周,周而复始,似乎手头的工作永远没有尽头,但也许正是这样没有尽头的路才更值得去走,我们不妨且歌且行,在路上唱出自我的同时发现体会到与生命的默契以及梦想的模样。
仅以此篇告别逝去的一周,开启新的一周的大门,倘若我们坚信明天会更好,那又有什么困难可以阻挡住我们呢。
|