人脸识别
OpenCV 简介
OpenCV 的全称是 Open Source Computer Vision Library,是一个跨平台的计算机视觉库。
OpenCV 是由英特尔公司发起并参与开发,以 BSD 许可证授权发行,可以在商业和研究领
域中免费使用。OpenCV 可用于开发实时的图像处理、计算机视觉以及模式识别程序。该程
序库也可以使用英特尔公司的 IPP 进行加速处理。
OpenCV 用 C++语言编写,它的主要接口也是 C++语言,但是依然保留了大量的 C 语
言接口。该库也有大量的 Python、Java and MATLAB/OCTAVE(版本 2.5)的接口。这些语
言的 API 接口函数可以通过在线文档获得。如今也提供对于 C#、Ch、Ruby、GO 的支持。
安装 OpenCV 模块
OpenCV 已经支持 python 的模块了,直接使用 pip 就可以进行安装,命令如下:
pip install opencv-python
OpenCV 基本使用
读取图片
显示图像是 OpenCV 最基本的操作之一,imshow()函数可以实现该操作。如果使用过其
他 GUI 框架背景,就会很自然第调用 imshow()来显示一幅图像。imshow()函数有两个参数:
显示图像的帧名称以及要显示的图像本身。直接调用 imshow()函数图像确实会显示,但随
即会消失。要保证图片一直在窗口上显示,要通过 waitKey()函数。waitKey()函数的参数为
等待键盘触发的时间,单位为毫秒,其返回值是-1(表示没有键被按下)
image = cv2.imread(imagepath)
【示例】读取图片
import cv2 as cv
img=cv.imread('lena.jpg') #注意读取图片的路径不能有中文,不然数据读取不出来
cv.imshow('input image',img)
cv.waitKey(0) #等待键盘的输入 单位是毫秒 传入 0 无限等待
cv.destroyAllWindows() #C++语言 使用完内存必须释放
图片灰度转换
OpenCV 中有数百种关于在不同色彩空间之间转换的方法。当前,在计算机视觉中有三
种常用的色彩空间:灰度、BGR、以及 HSV(Hue,Saturation,Value)。