Python通过OpenCV的findContours获取轮廓并切割实例
作者:loovelj 时间:2022-12-11 22:33:05
1 获取轮廓
OpenCV2获取轮廓主要是用cv2.findContours
import numpy as np
import cv2
im = cv2.imread('test.jpg')
imgray = cv2.cvtColor(im,cv2.COLOR_BGR2GRAY)
ret,thresh = cv2.threshold(imgray,127,255,0)
image, contours, hierarchy = cv2.findContours(thresh,cv2.RETR_TREE,cv2.CHAIN_APPROX_SIMPLE)
其中,findContours的第二个函数很重要,主要分为 cv2.RETR_LIST, cv2.RETR_TREE, cv2.RETR_CCOMP, cv2.RETR_EXTERNAL,具体含义可参考官方文档
2 画出轮廓
为了看到自己画了哪些轮廓,可以使用 cv2.boundingRect()函数获取轮廓的范围,即左上角原点,以及他的高和宽。然后用cv2.rectangle()方法画出矩形轮廓
for i in range(0,len(contours)):
x, y, w, h = cv2.boundingRect(contours[i])
cv2.rectangle(image, (x,y), (x+w,y+h), (153,153,0), 5)
3切割轮廓
轮廓的切割主要是通过数组切片实现的,不过这里有一个小技巧:就是图片切割的w,h是宽和高,而数组讲的是行(row)和列(column)
所以,在切割图片时,数组的高和宽是反过来写的
newimage=image[y+2:y+h-2,x+2:x+w-2] # 先用y确定高,再用x确定宽
nrootdir=("E:/cut_image/")
if not os.path.isdir(nrootdir):
os.makedirs(nrootdir)
cv2.imwrite( nrootdir+str(i)+".jpg",newimage)
print (i)
这样就可以把确定的轮廓都切割出来了。
总结
python+opencv轮廓检测代码解析
OpenCV-Python实现轮廓检测实例分析
如有不足之处,欢迎留言指出。感谢朋友们对本站的支持!
来源:http://blog.csdn.net/loovelj/article/details/78739790
标签:python,opencv,findcontours
![](/images/zang.png)
![](/images/jiucuo.png)
猜你喜欢
CSS系统默认颜色
2009-01-04 16:53:00
Django unittest 设置跳过某些case的方法
2022-02-28 21:46:13
go语言题解LeetCode1275找出井字棋的获胜者示例
2023-07-22 12:30:41
Oracle 数据库自动存储管理-安装配置
2009-05-24 19:15:00
基于python opencv单目相机标定的示例代码
2022-10-10 23:42:37
pycharm如何设置自动生成作者信息
2021-01-21 22:20:58
![](https://img.aspxhome.com/file/2023/2/83802_0s.jpg)
网马解密大讲堂——网马解密中级篇(Freshow工具使用方法)
2009-09-16 15:09:00
![](https://img.aspxhome.com/file/UploadPic/20099/16/freshow-13s.jpg)
在ASP中如何使用类class
2007-09-16 17:17:00
升级SQL Server 2008数据库引擎
2009-03-25 12:58:00
Python实现批量识别图片文字并存为Excel
2021-07-28 06:34:23
![](https://img.aspxhome.com/file/2023/8/66838_0s.jpg)
浏览器中的内存泄露
2008-05-03 16:53:00
![](https://img.aspxhome.com/file/UploadPic/20085/3/200853171337633s.gif)
深入透析样式表滤镜(下)
2011-06-14 09:49:19
Python实现12种降维算法的示例代码
2023-03-17 14:04:21
![](https://img.aspxhome.com/file/2023/9/77579_0s.jpg)
Python 多张图片合并成一个pdf的参考示例
2021-10-15 23:32:45
Python代码块批量添加Tab缩进的方法
2022-10-10 16:41:39
常用CSS命名参考
2008-03-10 11:38:00
mssql2005,2008导出数据字典实现方法
2023-07-23 19:11:30
python字典一键多值实例代码分享
2021-07-08 10:47:52
python 从远程服务器下载日志文件的程序
2021-03-06 01:39:15
python绘制三维图的详细新手教程
2022-03-19 14:23:52
![](https://img.aspxhome.com/file/2023/5/81675_0s.png)