opencv安装
使用清华镜像在pycharm终端中安装opencv包
pip install -i https://pypi.tuna.tsinghua.edu.cn/simple --trusted-host pypi.tuna.tsinghua.edu.cn opencv-python
opencv使用案例
1、加入库
import cv2
import matplotlib.pyplot as plt
import dlib
2、读取图片
image = cv2.imread("pic1.jpg")
图片路径和图片名不能有中文
图片读出来的格式是BGR,数据格式在 0~255,原始图片格式为jpg、jpeg或png
3、对单个图片进行灰度转换
gray = cv2.cvtColor(image, cv2.COLOR_BGR2GRAY)
4、dlib.get_frontal_face_detector( ) 获取人脸检测器
detector = dlib.get_frontal_face_detector()
dlib.get_frontal_face_datector(PythonFunction,in Classes)返回值是<class ‘dlib.dlib.rectangle’>,就是一个矩形,坐标为[(x1, y1) (x2, y2)]
faces = detector(gray, 1) #得到单个图片的矩阵
5、dlib.shape_predictor( ) 预测人脸关键点
predictor = dlib.shape_predictor("shape_predictor_68_face_landmarks.dat")
for face in faces:
shape = predictor(image, face) #预测关键点
6 、 cv2的函数
cv2.rectangle(image, (face.left(), face.top()), (face.right(), face.bottom()), (0, 255, 0), 2)
#在人脸上画矩形
#参数表示依次为: (图片,长方形框左上角坐标, 长方形框右下角坐标, 字体颜色,字体粗细)
for pt in shape.parts():
# 获取横纵坐标
pt_position = (pt.x, pt.y)
cv2.circle(image, pt_position, 1, (255, 0, 0), -1) # -1填充,2表示大小
# cv2.circle(img, center, radius, color, thickness, lineType, shift)
# img:输入的图片data center:圆心位置 radius:圆的半径 color:圆的颜色
# color:它是要绘制的圆的边界线的颜色。对于BGR,我们通过一个元组。例如:(255,0,0)为蓝色。
# thickness:它是圆边界线的粗细像素。厚度-1像素将以指定的颜色填充矩形形状。
7、matplotlib.pyplot的函数
plt.imshow(image)
#matplotlib库的pyplot模块中的imshow()函数用于将数据显示为图像,即在2D常规栅格上
plt.axis("off") #关闭坐标轴
plt.show()
#plt.imshow()函数负责对图像进行处理,并显示其格式,而plt.show()则是将plt.imshow()处理后的函数显示出来
参考代码
https://blog.csdn.net/m0_66663399/article/details/122880931