人脸识别(了解知识)

上节课我们学习了,OpenCV的基础知识和基本的读取数据方法。这节课,让我们继续来了解人脸识别的知识。

一,图片灰度转换

        OpenCV 中有数百种关于在不同色彩空间之间转换的方法。当前,在计算机视觉中有三 种常用的色彩空间:灰度、BGR、以及 HSV(Hue,Saturation,Value)。

        (1)灰度色彩空间是通过去除彩色信息来将其转换成灰阶,灰度色彩空间对中间处理 特别有效,比如人脸识别。

        (2)BGR 及蓝、绿、红色彩空间,每一个像素点都由一个三元数组来表示,分别代表 蓝、绿、红三种颜色。网页开发者可能熟悉另一个与之相似的颜色空间:RGB 它们只是颜 色顺序上不同。

        (3)HSV,H(Hue)是色调,S(Saturation)是饱和度,V(Value)表示黑暗的程度 (或光谱另一端的明亮程度)。

灰度转换的作用就是:转换成灰度的图片的计算强度得以降低。示例如下:

【示例】将图片灰度

import cv2 as cv
src=cv.imread('lena.jpg')
cv.imshow('input image',src)
#cv2 读取图片的通道是 BGR(蓝绿红)
#PIL 读取图片的通道是 RGB
gray_img=cv.cvtColor(src,code=cv.COLOR_BGR2GRAY)
cv.imshow('gray_image',gray_img)
cv.waitKey(0)
cv.destroyAllWindows()
#保存图片
cv.imwrite('gray_lena.jpg',gray_img)

二,修改图片尺寸

【示例】修改图片尺寸

import cv2 as cv
img=cv.imread('lena.jpg')
cv.imshow('input image',img)
#修改图片的尺寸
# resize_img=cv.resize(img,dsize=(110,160))
resize_img=cv.resize(img,dsize=(400,360))
print(resize_img.shape)
cv.imshow('resize_img',resize_img)
#如果键盘输入的是 q 时候 退出
while True:
if ord('q') == cv.waitKey(0):
break
cv.destroyAllWindows()

三,画图

        OpenCV 的强大之处的一个体现就是其可以对图片进行任意编辑,处理。 下面的这个 函数最后一个参数指定的就是画笔的大小。

【示例】画图

import cv2 as cv
img=cv.imread('lena.jpg')
#画矩形
x,y,w,h=50,50,80,80
cv.rectangle(img,(x,y,x+w,y+h),color=(0,255,0),thickness=2) #color=BGR
cv.circle(img,center=(x+w//2,y+h//2),radius=w//2,color=(0,0,255),thickness=2)
cv.imshow('result image',img)
cv.waitKey(0)
cv.destroyAllWindows()

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

weixin_54822781

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值