python实现人脸识别

OpenCV的全称是Open Source Computer Vision Library,是一个跨平台的计算机视觉库。OpenCV是由英特尔公司发起并参与开发,以BSD许可证授权发行,可以在商业和研究领域中免费使用。OpenCV可用于开发实时的图像处理、计算机视觉以及模式识别程序。该程序库也可以使用英特公司的IPP进行加速处理。OpenCV用C++语言编写,它的主要接口也是C++语言,但是依然保留了大量的C语言接口。该库也有大量的Python、Java andMATLAB/OCTAVE(版本2.5)的接口。这些语言的API接口函数可以通过在线文档获得。如今也提供对于C#、Ch、Ruby、Go 的支持。

安装OpenCV

pip install opencv-python

基础知识实例:

加载图片

# 导入模块 
import cv2 as cv
# 读取图片
img=cv.imread('tiaotiao.jpg') #路径中不能有中文,否则加载图片失败
#显示图片
cv.imshow('read_img',img)
#等待键盘输入 单位毫秒 传入0是无限等待
cv.waitKey(0)
#释放内存 由于OpenCV底层是由C++编写的
cv.destroyAllWindows()

图片灰度转变

import cv2 as cv
img=cv.imread('tiaotiao.jpg')
cv.imshow('BGR_img',img)
gray_gray=cv.cvtColor(img,cv.COLOR_BGR2GRAY)#将图片转换成灰色
cv.imshow('gry_img',gray_gray)
cv.imwrite('gry_img_new.jpg',gray_gray)#将图片以gry_img_new.jpg为名,保存在当前目录下
cv.waitKey(0)
cv.destroyAllWindows()

修改图片尺寸

import cv2 as cv
img=cv.imread('tiaotiao.jpg')
print('img',img.shape)#打印图片的尺寸
resize_img=cv.resize(img,dsize=(200,240))#设置图片的尺寸
resize_img1=cv.resize(img,dsize=(600,450))
print('resize_img1',resize_img1.shape)
cv.imshow('resize_img',resize_img)
cv.imshow('resize_img1',resize_img1)
while True:
	if ord('q')==cv.waitKey(0): #按q时推出
		break
cv.destroyAllWindows()

绘制矩形或者圆

import cv2 as cv
img=cv.imread('tiaotiao.jpg')
# x,y,w,h=50,50,40,60 #左上角坐标(x,y) 矩形的宽高w,h
# cv.rectangle(img,(x,y,x+w,y+h),color=(0,255,0),thickness=2) #设置颜色和粗细
x,y,r=100,100,50
cv.circle(img,center=(x,y),radius=r,color=(0,0,255),thickness=2)
cv.imshow('rectangle_img',img)
cv.waitKey(0)
cv.destroyAllWindows()

正文:

下载安装opencv

地址:https://sourceforge.net/projects/opencvlibrary

下载安装好了,会看到build和sources两个文件夹,bulid代表库文件,sources代表demo示例源码。在sources的一个文件夹data/haarcascades,该文件夹包含了所有OpenCV的人脸检测的XML文件,这些可用于检测静止图像、视频和摄像头所得到图像中的人脸。可以根据需要按需使用相应的检测xml。

Logo

CSDN联合极客时间,共同打造面向开发者的精品内容学习社区,助力成长!

更多推荐