使用OpenCV和Python进行人脸识别(7)

第6行读取测试图像
第7行从测试图像中检测脸部
第11行通过调用面部识别器的预测(面部)方法来识别面部。 该方法将返回一个标签
第12行获取与标签关联的名称
第16行在检测到的脸部周围绘制矩形
第18行绘制预测主体在面部矩形上方的名称

  现在我们已经很好地定义了预测函数,下一步就是在我们的测试图像上实际调用这个函数,并显示这些测试图像以查看我们的人脸识别器是否能正确识别它们。 所以让我们来做。 这就是我们一直在等待的。

print("Predicting images...") #加载测试图像 test_img1 = cv2.imread("test-data/test1.jpg") test_img2 = cv2.imread("test-data/test2.jpg") #执行预测 predicted_img1 = predict(test_img1) predicted_img2 = predict(test_img2) print("Prediction complete") #显示两个图像 cv2.imshow(subjects[1], predicted_img1) cv2.imshow(subjects[2], predicted_img2) cv2.waitKey(0) cv2.destroyAllWindows()

 

Predicting images... Prediction complete

使用OpenCV和Python进行人脸识别

结语

  你可以从这个Github下载完整的代码和相关文件 打开GitHab.

  人脸识别是一个非常有趣的想法,OpenCV使得它非常简单,易于我们对其进行编码。 只需几行代码即可完成全面工作的人脸识别应用程序,并且我们可以通过一行代码更改在所有三个人脸识别器之间切换。 就这么简单。

  尽管EigenFaces,FisherFaces和LBPH人脸识别器都不错,但是使用面向梯度直方图(HOG)和神经网络进行人脸识别还有更好的方法。 因此,更先进的人脸识别算法现在是一个使用OpenCV和机器学习相结合的日子。

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/2b40b8935044a95fe850af38d3b55ef9.html