利用OpenCV简单的读取指定路径下的图片
#导入cv模块
import cv2 as cv
#读取图像,支持 bmp、jpg、png、tiff 等常用格式
path = "E:/jupyter_workspace/test/kobe.jpg"
img = cv.imread(path)
#创建窗口并显示图像
cv.namedWindow("Image")
cv.imshow("Image",img)
cv.waitKey(0)
#释放窗口
cv.destroyAllWindows()
运行如下
读取视频流
cv2.VideoCapture()
如果cv2.VideoCapture(0),则打开计算机摄像头
如果为路径,则为视频所在的路径
import cv2
def get_face():
# 加载人脸检测联级文件
face_detect = cv2.CascadeClassifier('D:/ProgramData/Anaconda3/Lib/site-packages/cv2/data/haarcascade_frontalface_default.xml')
# 加载眼部检测联级文件
#eye_detect = cv2.CascadeClassifier('D:/ProgramData/Anaconda3/Lib/site-packages/cv2/data/haarcascade_eye.xml')
# 打开摄像头
camera = cv2.VideoCapture(0)
while(True):
# 从摄像头读取图片
ret, image = camera.read()
# BRG转灰度图
image_gray = cv2.cvtColor(image, cv2.COLOR_BGR2GRAY)
# 检测人脸
faces = face_detect.detectMultiScale(image_gray, scaleFactor=1.11, minNeighbors=5, minSize=(100, 100))
# 矩形框的颜色
color = (0,0,255)
# 线条粗细
size = 1
for (x, y, width, height) in faces:
# 根据检测结果绘制矩形框
cv2.rectangle(image, (x, y), (x + width, y + height), color, size)
# 检测眼睛
#eyes = eye_detect.detectMultiScale(image_gray, scaleFactor=2.50, minNeighbors=5, minSize=(5, 5))
#for (x, y, width, height) in eyes:
# 根据检测结果绘制矩形框
# cv2.rectangle(image, (x, y), (x + width, y + height), (255, 0, 0), 2)
# 显示图片
cv2.imshow('Face Detect', image)
# 捕捉按键,如果是Q退出
if cv2.waitKey(1) & 0xFF == ord('q'):
break
# 释放摄像头
camera.release()
# 销毁窗口
cv2.destroyAllWindows()
if __name__ == '__main__':
get_face()