当你完成图像分割之后,图像轮廓检测往往可以进一步筛选你要的目标,OpenCV中可以使用cv2findContours来得到轮廓。
补充 :
再不少场景中,找轮廓的最小外接矩形是基本需求,opencv中minAreaRect得到的是一个带有旋转角度信息的rect,可以使用cv2boxPoints(rect)来将其转为矩形的四个顶点坐标(浮点类型)你也可以使用cv2polylines来绘制这样的轮廓信息
注意findContours参数的变化,在opencv4中,返回值只有contours和hierarchy ,这一点与opencv3中不同。对与轮廓的层级结构,比较难用,虽然可以通过轮廓的层级结构来进行索引你需要的轮廓,不过对于大部分机器视觉应用场景,二值化的结果有时候很难预料,单单通过这种层级关系索引,非常容易出错。所以,只找最外部结构的 cv2RETR_EXTERNAL 是不是真香呢?
处理cv2approxPolyDP()外,你也可以使用cv2convexHull来求轮廓的近似凸包,其中凸形状内部--任意两点连线都在该形状内部。
clockwise :默认为False,即轮廓为逆时针方向进行排列;
returnPoints :设置为False会返回与凸包上对应的轮廓的点索引值,设置为True,则会返回凸包上的点坐标集,默认为True
对于opencv-python的提取图像轮廓部分有问题欢迎留言, Have Fun With OpenCV-Python, 下期见。
感兴趣的不妨随便弄一个视频使用抖音抖动效果观察。这里,博主建议读者使用国际象棋的视频图像,这种方块的格式更能看清细微的抖动变化。
我们观察抖音抖动视频会发现,抖动效果的原理是对视频中的一些帧进行剪切和放大到原图,出现视频中的人或者物体放大颤动的效果,并因为视觉残留出现闪影效果。
换到OpenCV中进行处理,就可以分为以下几个步骤:
按照原理,我们先读取视频,或者直接使用摄像头。然后获取图像的帧数FPS,同时获取图像的中心Center,将图像按比例剪裁20%之后,在放大至原图。
下面,我们来实现视频抖动效果:
运行之后,效果如下:
你想了解怎么利用程序自动识别网站验证码吗?识别提取图像文字(中文英文都可以)
分享一点简单有用的小项目:python
源码分享如下:
看视频教程链接:(点击识别图像文字视频教程链接)
一、首先需要安装 Tesseract模块及 语言包
Tesseract OCR光学字符识别
Windows系统:
安装网站 (放在不需要权限的纯英文路径下):
: >
一般情况下对显卡无明显要求。复杂程序最多是对cpu内存要求大些。
如果是需要渲染图形界面,理论上和python关系也不大。普通python的图形界面编程对计算机显示硬件要求不高
我将对代码进行补充演练,以构建在数据集上训练的任何类型的图像分类器。在这个例子中,我将使用花卉数据集,其中包括102种不同类型的花。需要数据集和代码都可以私信我。
Pytorch是机器学习和Python上的免费软件包,非常易于使用。语法模拟numpy,因此,如果你在python中有一些科学计算经验,那么会相当有用的。只需几行代码,就可以下载预先训练的数据集,使用定义的变换对图像进行标准化,然后运行训练。
创建和扩充数据集
为了增加数据集,我使用' google_images_download'API 从互联网上下载了相关图像。显然,您可以使用此API不仅可以扩充现有数据集,还可以从头开始创建自己的数据集。
确保从图像中挑选出异常值(损坏的文件或偶然出现的无关图像)。
图像标准化
为了使图像具有相同的大小和像素变化,可以使用pytorch的transfors模块:
转移学习
从头开始训练的模型可能不是最明智的选择,因为有许多网络可用于各种数据集。简单地说,像edge-和其他简单形状检测器等低级特征对于不同的模型是相似的,即使clasificators是针对不同目的进行训练的。在本项目中,我使用了一个预训练网络Resnet152,只有最后一个完全连接的层重新用于新任务,即使这样也会产生相当好的效果。
在这里,我将除最后一层之外的所有层都设置为具有固定权重(requires_grad = False),因此只有最后层中的参数将通过梯度下降进行更新。
训练模型
下面介绍一下进行训练的函数:
如何获得GPU?
当然,对CPU的训练太慢了。根据我自己的经验,在GPU仅需要一个小时就可以完成12次训练周期,但是在CPU上相同数量的训练周期可能需要花费大约15个小时。
如果您没有本地可用的GPU,则可以考虑使用云GPU。为了加速CNN的训练,我使用了floydhub(>
主流Python图像库:
1opencv
2PIL(pillow)
3matplotlibimage
4scipymisc
5skimage
以上就是关于OpenCV-Python系列八:提取图像轮廓全部的内容,包括:OpenCV-Python系列八:提取图像轮廓、实现抖音视频抖动效果---OpenCV-Python开发指南(53)、(源码分享)利用Python识别提取图像文字(中文英文都可以)等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)