时间:2020-12-15 01:41:34 | 栏目:Python代码 | 点击:次
案例一 导入图片
思路: 1.导入库 2.加载图片 3.创建窗口 4.显示图片 5.暂停窗口 6.关闭窗口
# 1.导入库 import cv2 # 2.加载图片 img = cv2.imread('a.png') # 3.创建窗口 cv2.namedWindow('window 1 haha') # 4.显示图片 cv2.imshow('window 1',img) # 5.暂停窗口 cv2.waitKey(0) # 6.关闭窗口 cv2.destroyAllWindows()
案例二 在图片上添加人脸识别
思路: 1.导入库 2.加载图片 3.加载人脸模型 4.调整图片灰度 5.检查人脸 6.标记人脸 7.创建窗口 8.显示图片 9.暂停窗口 10.关闭窗口
# 1.导入库 import cv2 # 2.加载图片 img = cv2.imread('a.png') # 3.加载人脸模型,opencv官网下载 face = cv2.CascadeClassifier('haarcascade_frontalface_default.xml') # 4.调整图片灰度:没必要识别颜色,灰度可以提高性能 gray = cv2.cvtColor(img,cv2.COLOR_RGB2GRAY) # 5.检查人脸 faces = face.detectMultiScale(gray) # 6.标记人脸for (x,y,w,h) in faces: # 里面有4个参数 1.写图片 2.坐标原点 3.识别大小 4.颜色 5.线宽 cv2.rectangle(img,(x,y),(x+w,y+h),(0,255,0),4) # 7.创建窗口 cv2.namedWindow('window 1 haha') # 8.显示图片 cv2.imshow('window 1', img) # 9.暂停窗口 cv2.waitKey(0) # 10.关闭窗口 cv2.destroyAllWindows()
案例三 调用摄像头
思路: 1.导入库 2.打开摄像头 3.获取摄像头实时画面 4.释放资源 5.关闭窗口
# 1.导入库 import cv2 # 2.打开摄像头 capture = cv2.VideoCapture(0) # 3.获取摄像头实时画面 cv2.namedWindow('camera') while True: #3.1 获取摄像头的帧画面 ret,frame = capture.read() #3.2 显示图片(渲染画面) cv2.imshow('window 1',frame) #3.3 暂停窗口 if cv2.waitKey(5) & 0xFF == ord('q'): break # 4.释放资源 capture.release() # 5.关闭窗口 cv2.destroyAllWindows()
案例四 摄像头识别人脸
思路: 1.导入库 2.加载人脸模型 3.打开摄像头 4.创建窗口 5.获取摄像头实时画面 6.释放资源 7.关闭窗口
# 1.导入库 import cv2 # 2.加载人脸模型 face = cv2.CascadeClassifier('haarcascade_frontalface_default.xml') # 3.打开摄像头 capture = cv2.VideoCapture(0) # 4.创建窗口cv2.namedWindow('window 1') # 5.获取摄像头实时画面 while True: # 5.1 获取摄像头的帧画面 ret,frame = capture.read() # 5.2 图片灰度调整 gray = cv2.cvtColor(frame,cv2.COLOR_RGB2GRAY) # 5.3 检查人脸 faces = face.detectMultiScale(gray) # 5.4 标记人脸 for (x, y, w, h) in faces: # 里面有4个参数 1.写图片 2.坐标原点 3.识别大小 4.颜色 5.线宽 cv2.rectangle(frame, (x, y), (x + w, y + h), (0, 255, 0), 4) # 5.5 显示图片 cv2.imshow('camera',frame) # 5.6 暂停窗口 if cv2.waitKey(5) & 0xFF == ord('q'): break # 6.释放资源 capture.release() # 7.关闭窗口 cv2.destroyAllWindows()