python进行人脸识别怎么添加图片_OpenCV-Python速查:从载入图片到人脸识别

本文为 AI 研习社编译的技术博客,原标题 :

OpenCV-Python Cheat Sheet: From Importing Images to Face Detection

作者 |Salma Ghoneim

翻译 | linlh、肯恩 阿瑟  编辑 | 王立鱼

https://heartbeat.fritz.ai/opencv-python-cheat-sheet-from-importing-images-to-face-detection-52919da36433

什么是OpenCV-Python?

OpenCV是一个计算机视觉和机器学习的开源库。拥有2500+个优化算法——一套非常全面的既经典又最先进的计算机视觉和机器学习算法的集合,具备很多接口,包括Python,Java,C++和Matlab。

这次,让我们来攻克Python的接口:

目录:

安装方式

导入/查看图像

裁剪:Cropping

调整:Resizing

旋转:Rotating

灰度和阈值:Grayscaling and Thresholding

模糊/平滑:Blurring/Smoothing

绘制矩形/边界框

画线

在图片上写入文字

人脸识别

轮廓(Contours)——一种物体检测的方法

保存图像

导入图像 & 显示

提醒1:通过OpenCV的种方式读取图像,它不是RGB色域的——而是BGR色域的。有时候这不会是一个问题,只有在你想加入彩色内容到你的图像中的时候会有麻烦。

有两个解决办法:

将R - 1st(红色)与B - 3rd(蓝色)切换,使红色为(0,0,255)而不是(255,0,0)。

改变色域为RGB

然后在你的rgb_image上继续编写代码,而不是在image上。

提醒2:按下任意按键,来关闭显示图像的窗口。如果你使用关闭按钮可以能会导致卡主(在我使用Jupyter Notebook时,有发生这样的情况)

简单起见,整个教程中我会使用下面的方法来显示图像:

图片来源: Pixabay

裁剪:Cropping

裁剪后的狗狗

在图像:image[10:500, 500:2000] 中以(y, x)为起点,裁剪大小为(h, w)的图像: image[y:y+h, x:x+w]

调整大小:Resizing

图像来源: Pexels

调整20%之后

调整大小的函数保持了和原来图像一样的尺寸比。

更多关于图像缩放的函数,查看原文。

旋转:Rotating

上方: 照片来自Pexels的Jonathan Meyer.下方:旋转180度后的狗狗

image.shape输出了图像的高度,宽度和通道数。M是旋转矩阵——根据图像中心旋转180度。-ve按照顺指针方向旋转图像 & +ve 则是按照逆时针方向旋转。

灰度和阈值(黑&白效果)

gray_image是图像的灰度单通道版本。阈值函数将所有阴影变为比127更暗(更小)到0并且所有更亮(更大)到255。

另外一个例子:

这将使所有阴影小于150到10并且全部大于200。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值