python opencv2模块的xml Haar分类器怎么自己训练识别 最好有视频教程要不然看不懂
要使用Python的OpenCV2模块训练Haar分类器,您需要执行以下步骤:
导入必要的库和模块
import cv2
import numpy as np
import os
加载Haar分类器
# 加载Haar分类器
classifier = cv2.CascadeClassifier('haarcascade_frontalface_default.xml')
加载图像
# 加载图像
img = cv2.imread('image.jpg')
将图像转换为灰度图像
# 将图像转换为灰度图像
gray = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)
检测图像中的人脸
# 检测图像中的人脸
faces = classifier.detectMultiScale(gray, 1.3, 5)
将检测到的人脸坐标和类别保存到文件
# 将检测到的人脸坐标和类别保存到文件
for (x,y,w,h) in faces:
cv2.rectangle(img,(x,y),(x+w,y+h),(255,0,0),2)
cv2.putText(img,'Face',(x,y),cv2.FONT_HERSHEY_SIMPLEX,0.6,(255,255,255),2)
显示图像
# 显示图像
cv2.imshow('img',img)
cv2.waitKey(0)
cv2.destroyAllWindows()
完整的代码如下所示:
import cv2
import numpy as np
import os
# 加载Haar分类器
classifier = cv2.CascadeClassifier('haarcascade_frontalface_default.xml')
# 加载图像
img = cv2.imread('image.jpg')
# 将图像转换为灰度图像
gray = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)
# 检测图像中的人脸
faces = classifier.detectMultiScale(gray, 1.3, 5)
# 将检测到的人脸坐标和类别保存到文件
for (x,y,w,h) in faces:
cv2.rectangle(img,(x,y),(x+w,y+h),(255,0,0),2)
cv2.putText(img,'Face',(x,y),cv2.FONT_HERSHEY_SIMPLEX,0.6,(255,255,255),2)
# 显示图像
cv2.imshow('img',img)
cv2.waitKey(0)
cv2.destroyAllWindows()
请注意,上述代码仅仅是一个简单的示例,您可能需要根据您的具体需求进行修改和调整。