parent
69e20e9f5d
commit
5d23d4d3db
@ -0,0 +1,31 @@
|
|||||||
|
#导入cv模块
|
||||||
|
import cv2 as cv
|
||||||
|
#检测函数
|
||||||
|
def face_detect_demo():
|
||||||
|
#将图片转换为灰度图片
|
||||||
|
gary = cv.cvtColor(img, cv.COLOR_BGR2GRAY)
|
||||||
|
#自带的分类器
|
||||||
|
face_detect = cv.CascadeClassifier('D:/PyCharm 2024.1.1/opencv/sources/data/haarcascades/haarcascade_frontalface_default.xml')
|
||||||
|
face = face_detect.detectMultiScale(gary,1.1,5,0,(10,10),(300,300))
|
||||||
|
for (x,y,w,h) in face:
|
||||||
|
cv.rectangle(img,(x,y),(x+w,y+h),color = (0,0,255),thickness = 2)
|
||||||
|
# 显示图像
|
||||||
|
cv.imshow("Demo", img)
|
||||||
|
#读入图像
|
||||||
|
img = cv.imread("pic/img13.jpg")
|
||||||
|
#窗口名字
|
||||||
|
cv.namedWindow("Demo",0)
|
||||||
|
#规定图片大小
|
||||||
|
cv.resizeWindow("Demo",600,600)
|
||||||
|
#图片位置坐标
|
||||||
|
cv.moveWindow("Demo",300,150)
|
||||||
|
#调用检测函数
|
||||||
|
face_detect_demo()
|
||||||
|
|
||||||
|
#等待
|
||||||
|
while True:
|
||||||
|
if ord('q') == cv.waitKey(0):
|
||||||
|
break
|
||||||
|
#>0 等待delay毫秒 =0 无限等待 <0 等待键盘单击
|
||||||
|
#释放内存
|
||||||
|
cv.destroyAllWindows() #删除所以窗口
|
||||||
@ -0,0 +1,31 @@
|
|||||||
|
#导入cv模块
|
||||||
|
import cv2 as cv
|
||||||
|
#检测函数
|
||||||
|
def face_detect_demo(img):
|
||||||
|
#将图片转换为灰度图片
|
||||||
|
gary = cv.cvtColor(img, cv.COLOR_BGR2GRAY)
|
||||||
|
#自带的分类器
|
||||||
|
face_detect = cv.CascadeClassifier('D:/PyCharm 2024.1.1/opencv/sources/data/haarcascades/haarcascade_frontalface_default.xml')
|
||||||
|
face = face_detect.detectMultiScale(gary)
|
||||||
|
for (x,y,w,h) in face:
|
||||||
|
cv.rectangle(img,(x,y),(x+w,y+h),color=(0,0,255),thickness=2)
|
||||||
|
# 显示图像
|
||||||
|
cv.imshow('result', img)
|
||||||
|
|
||||||
|
#读取摄像头
|
||||||
|
#cap = cv.VideoCapture(0)
|
||||||
|
cap = cv.VideoCapture("output/1.mp4")
|
||||||
|
|
||||||
|
#循环
|
||||||
|
#等待
|
||||||
|
while True:
|
||||||
|
flag,frame = cap.read()
|
||||||
|
if not flag:
|
||||||
|
break
|
||||||
|
face_detect_demo(frame)
|
||||||
|
if ord('q') == cv.waitKey(0):
|
||||||
|
break
|
||||||
|
#>0 等待delay毫秒 =0 无限等待 <0 等待键盘单击
|
||||||
|
#释放内存
|
||||||
|
cv.destroyAllWindows() #删除所以窗口
|
||||||
|
cap.release()
|
||||||
Loading…
Reference in new issue