赞
踩
OpenCV是一个用于图像处理、分析、机器视觉方面的开源函数库,可免费适用于科学研究、商业应用。它在人机互动、物体互动、图像分割、人脸识别、动作识别、运动追踪等应用领域具有极大的应用价值。
直接运行cmd后,输入pip install opencv-python,即可完成安装。
- import cv2
- import os
- import matplotlib.pyplot as plt
- os.chdir('e:')
- os.getcwd()
- #更改操作系统的目录
- def detect(filename):
- face_cascade = cv2.CascadeClassifier('C:/Users/JEmahaha/anaconda3/Lib/site-packages/cv2/data/haarcascade_frontalface_default.xml')
- #导入识别部位所需的分类器文件
- img = cv2.imread(filename)#读取输入的图片文件
- gray = cv2.cvtColor(img,cv2.COLOR_BGR2GRAY)#以灰度模式加载图片
- faces = face_cascade.detectMultiScale(gray, 1.3, 5)
- for (x, y, w, h) in faces:#根据识别到的人脸坐标(两点+宽+高)画矩形框
- img = cv2.rectangle(img, (x, y), (x + w, y + h), (255, 0, 0), 2)
- plt.imshow(img)
- plt.axis('off') #去掉坐标轴
- plt.show()
- detect('J.jpeg')
1.加载分类器,当然分类器事先要放在工程目录中去。分类器本来的位置是在*\opencv\sources\data\haarcascades(根据想识别的部位选择分类器文件)
2.调用detectMultiScale()函数检测,调整函数的参数可以使检测结果更加精确。
3.把检测到的人脸等用矩形画出来。(可自定义形状、线颜色、线宽度)
1.cv2.imread(filename,[flags])
用于读取图片文件。第一个参数filename填入待分析图片的路径,路径不能含有中文。第二个参数是图像的通道和色彩信息(默认值为1)。
cv2.IMREAD_COLOR:加载彩色图片,这个是默认参数,可以直接写1。
cv2.IMREAD_GRAYSCALE:以灰度模式加载图片,可以直接写0。
cv2.IMREAD_UNCHANGED:包括alpha,可以直接写-1
cv2.imread()读取图片后已多维数组的形式保存图片信息,前两维表示图片的像素坐标,最后一维表示图片的通道索引,具体图像的通道数由图片的格式来决定
不知道用法的可以通过输入代码
print(inspect.getdoc(cv2.imread))
查询
2.detectMultiScale()函数检测
OpenCV实践之路——人脸检测(C++/Python)_星沉阁-CSDN博客_c++ opencv人脸检测
3.cv2.rectangle(img, pt1, pt2, color[, thickness[, lineType[, shift]]]) → None
<Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。