OpenCV-Python速查表:从导入图像到人脸检测_使用jupyter用opencv实现对图像进行五官检测

最后

Python崛起并且风靡,因为优点多、应用领域广、被大牛们认可。学习 Python 门槛很低,但它的晋级路线很多,通过它你能进入机器学习、数据挖掘、大数据,CS等更加高级的领域。Python可以做网络应用,可以做科学计算,数据分析,可以做网络爬虫,可以做机器学习、自然语言处理、可以写游戏、可以做桌面应用…Python可以做的很多,你需要学好基础,再选择明确的方向。这里给大家分享一份全套的 Python 学习资料,给那些想学习 Python 的小伙伴们一点帮助!

👉Python所有方向的学习路线👈

Python所有方向的技术点做的整理,形成各个领域的知识点汇总,它的用处就在于,你可以按照上面的知识点去找对应的学习资源,保证自己学得较为全面。

👉Python必备开发工具👈

工欲善其事必先利其器。学习Python常用的开发软件都在这里了,给大家节省了很多时间。

👉Python全套学习视频👈

我们在看视频学习的时候,不能光动眼动脑不动手,比较科学的学习方法是在理解之后运用它们,这时候练手项目就很适合了。

👉实战案例👈

学python就与学数学一样,是不能只看书不做题的,直接看步骤和答案会让人误以为自己全都掌握了,但是碰到生题的时候还是会一筹莫展。

因此在学习python的过程中一定要记得多动手写代码,教程只需要看一两遍即可。

👉大厂面试真题👈

我们学习Python必然是为了找到高薪的工作,下面这些面试题是来自阿里、腾讯、字节等一线互联网大厂最新的面试资料,并且有阿里大佬给出了权威的解答,刷完这一套面试资料相信大家都能找到满意的工作。

需要这份系统化学习资料的朋友,可以戳这里获取

一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!

——本文对图像裁剪、调整大小、旋转、阈值、模糊、在图像上绘图和书写、人脸检测和使用轮廓图像检测对象都进行了解释。

什么是OpenCV-Python?

OpenCV是一个开源的计算机视觉(computer vision)和机器学习库。它拥有超过2500个优化算法,包括经典和最先进的计算机视觉和机器学习算法。它有很多语言接口,包括Python、Java、c++和Matlab。

这里,我们将处理Python接口。

安装

在Windows上, 请在这里查看指南。地址:https://opencv-python-tutroals.readthedocs.io/en/latest/py_tutorials/py_setup/py_setup_in_windows/py_setup_in_windows.html

在 Linux上, 请在这里查看指南。地址:https://docs.opencv.org/trunk/d7/d9f/tutorial_linux_install.html

图像导入&显示

警告1: 通过openCV读取图像时,它不是以RGB 颜色空间来读取,而是以BGR 颜色空间。有时候这对你来说不是问题,只有当你想在图片中添加一些颜色时,你才会遇到问题。

有两种解决方案:

将R — 第一个颜色值(红色)和B  — 第三个颜色值(蓝色) 交换, 这样红色就是 (0,0,255) 而不是(255,0,0)。

将颜色空间变成RGB:

使用rgb_image代替image继续处理代码。

警告2: 要关闭显示图像的窗口,请按任意按钮。如果你使用关闭按钮,它可能会导致窗口冻结(我在Jupyter笔记本上运行代码时发生了这种情况)。

为了简单起见,在整个教程中,我将使用这种方法来查看图像:

来源:Pixabay

裁剪

来源:Pixabay

裁剪后的狗狗

其中: image[10:500,500:200] 是 image[y:y+h,x:x+w]。

调整大小

来源:Pexels

调整大小到20%后

这个调整大小函数会保持原始图像的尺寸比例。

更多图像缩放函数,请查看这里。(https://www.tutorialkart.com/opencv/python/opencv-python-resize-image/  )

旋转

左图: 图片来自Pexels的Jonathan Meyer。右图: 进行180度旋转之后的狗狗。

image.shape输出高度、宽度和通道。M是旋转矩阵——它将图像围绕其中心旋转180度。

-ve表示顺时针旋转图像的角度  & +ve逆表示逆时针旋转图像的角度。

灰度和阈值(黑白效果)

来源:Pexels

gray_image 是灰度图像的单通道版本。

这个threshold函数将把所有比127深(小)的像素点阴影值设定为0,所有比127亮(大)的像素点阴影值设定为255。

另一个例子:

这将把所有阴影值小于150的像素点设定为10和所有大于150的像素点设定为200。

更多有关thresholding函数的内容,请查看这里。(https://docs.opencv.org/3.4/d7/d4d/tutorial_py_thresholding.html  )

左图:灰阶狗狗。右图:黑白狗狗。

模糊/平滑

左图:图像来自Pixabay。右图:模糊后的狗狗。

高斯模糊函数接受3个参数:

第一个参数是要模糊的图像。

第二个参数必须是一个由两个正奇数组成的元组。当它们增加,模糊效果也会增加。

第三个参数是sigmaX和sigmaY。当左边位于0时,它们会自动从内部大小计算出来。

更多关于模糊函数的内容,请查看这里。(https://docs.opencv.org/3.1.0/d4/d13/tutorial_py_filtering.html  )

在图像上绘制矩形框或边框

左图:图像来自Pixabay。右图:脸上有一个矩形框的狗狗。

rectangle函数接受5个参数:

第一个参数是图像。

第二个参数是x1, y1 -左上角坐标。

第三个参数是x2, y2 -右下角坐标。

第四个参数是矩形颜色(GBR/RGB,取决于你如何导入图像)。

第五个参数是矩形线宽。

绘制一条线

左图:图像来自Pixabay。右图:两只狗狗用一条线分开。

line函数接受5个参数:

第一个参数是要画的线所在的图像。

第二个参数是x1, y1。

第三个参数是x2, y2。

第四个参数是线条颜色(GBR/RGB,取决于你如何导入图像)。

第五个参数是线宽。

在图片上写入文字

网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。

需要这份系统化学习资料的朋友,可以戳这里获取

一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!

第四个参数是线条颜色(GBR/RGB,取决于你如何导入图像)。

第五个参数是线宽。

在图片上写入文字

网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。

需要这份系统化学习资料的朋友,可以戳这里获取

一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值