> 文档中心 > 利用opencv带你玩转人脸识别-上篇(读取图片,灰度转换,尺寸修改,绘制矩形快速入门)

利用opencv带你玩转人脸识别-上篇(读取图片,灰度转换,尺寸修改,绘制矩形快速入门)


🐚作者简介:苏凉(专注于网络爬虫,数据分析)
🐳博客主页:苏凉.py的博客
🌐系列专栏:python-opencv快速入门
👑名言警句:海阔凭鱼跃,天高任鸟飞。
📰要是觉得博主文章写的不错的话,还望大家三连支持一下呀!!!
👉关注✨点赞👍收藏📂

文章目录

  • 前言
    • 安装opencv
    • 导入模块
      • 1.读取图片(imread,imshow)
      • 2.灰度转换(cvtColor)
      • 3.尺寸修改(resize)
      • 4.矩形,圆形形绘制(rectangle,circle)
  • 结语

利用opencv带你玩转人脸识别-上篇(读取图片,灰度转换,尺寸修改,绘制矩形快速入门)

前言

opencv是计算机视觉中最受欢迎的库,可以在python中使用。OpenCV库是2500多种优化算法的组合,可用于检测和识别不同的人脸,实时识别图像中的对象,使用视频和网络摄像头对不同的人类动作进行分类,跟踪摄像机的运动,跟踪运动对象(例如汽车,人等),实时计数对象,缝合图像来产生高分辨率图像,从图像数据库中查找相似的图像,从使用闪光灯拍摄的图像中消除红眼并提高图像质量,跟踪眼睛的运动,跟踪脸部等。
利用opencv带你玩转人脸识别-上篇(读取图片,灰度转换,尺寸修改,绘制矩形快速入门)

安装opencv

控制台输入以下命令即可:

pip install opencv-python -i https://pypi.douban.com/simple

导入模块

import cv2 as cv 

1.读取图片(imread,imshow)

imread-获取图像路径
imshow-显示图像,其中face为显示的图像的名称
waitkey-设置等待时间,单位无为毫秒,1000ms=1s,设置为0则永久显示。
destroryAllwindows-清理内存

# 导入模块import cv2 as cv# 读取图像img =cv.imread('./facefile/face1.png')# 显示图片cv.imshow('face',img)# 显示时间cv.waitKey(0)# 清理内存cv.destroyAllWindows()

运行结果:
利用opencv带你玩转人脸识别-上篇(读取图片,灰度转换,尺寸修改,绘制矩形快速入门)

2.灰度转换(cvtColor)

cvtColor-转换图片颜色,cv.COLOR_xxxxx参数可以将图片转换为多种颜色,这里选择灰色处理。

# 读取图像img =cv.imread('./facefile/face1.png')# 灰度处理gray_img = cv.cvtColor(img,cv.COLOR_BGR2GRAY)# 保存灰度图片cv.imwrite('./facefile/gray_face1.jpg',gray_img)# 显示灰度图片cv.imshow('grayface',gray_img)cv.waitKey(0)cv.destroyAllWindows()

运行结果:
利用opencv带你玩转人脸识别-上篇(读取图片,灰度转换,尺寸修改,绘制矩形快速入门)

3.尺寸修改(resize)

resize-修改图片尺寸,dsize参数设置图片大小(宽高)
img.shape-显示图片尺寸(高宽)

# 导入模块import cv2 as cv# 读取图像img =cv.imread('./facefile/face1.png')# 灰度处理gray_img = cv.cvtColor(img,cv.COLOR_BGR2GRAY)# 保存灰度图片cv.imwrite('./facefile/gray_face1.jpg',gray_img)# 修改尺寸大小resize_grayimg = cv.resize(gray_img,dsize=(400,300)) #宽高# 显示图片大小print('BeforeSize:',gray_img.shape)print('AfterSize:',resize_grayimg.shape)# 显示灰度图片cv.imshow('grayface',resize_grayimg)# 显示原图cv.imshow('face',gray_img)# 按空格显示结束while True:    if ord(' ') == cv.waitKey(0): breakcv.destroyAllWindows()

运行结果:
利用opencv带你玩转人脸识别-上篇(读取图片,灰度转换,尺寸修改,绘制矩形快速入门)

4.矩形,圆形形绘制(rectangle,circle)

rectangle- 绘制矩形,color参数设置颜色(B,G,R),thickness参数设置边框宽度。
circle- 绘制圆形,center参数设置圆心,radius参数设置半径。

import cv2 as cvgray_img = cv.imread('./facefile/gray_face1.jpg')# 设置尺寸gray_resizeimg = cv.resize(gray_img,dsize=(350,400))# 设置坐标x,y,w,h = (130,130,100,110)# 绘制矩形cv.rectangle(gray_resizeimg,(x,y),(x+w,y+h),color=(0,0,255),thickness=1)# 绘制圆形cv.circle(gray_resizeimg,center=(x+w//2,y+h//2),radius=60,color=(255,0,0),thickness=2)cv.imshow('resizeimg',gray_resizeimg)while True:    if ord(' ') == cv.waitKey(0): breakcv.destroyAllWindows()

运行结果:
利用opencv带你玩转人脸识别-上篇(读取图片,灰度转换,尺寸修改,绘制矩形快速入门)

结语

这篇文章主要带大家了解并使用opencv读取图片并对图片进行修改以及在人脸上画框,这对后续的人脸检测都有着极大的用处,那么大家学会了吗?后续更新人脸检测!!
关注我咱们下期再见!!
在这里插入图片描述