Python如何通过OpenCV的findContours获取轮廓并切割

  介绍

这篇文章主要介绍Python如何通过OpenCV的findContours获取轮廓并切割,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!

<强> 1获取轮廓

OpenCV2获取轮廓主要是用cv2。findContours

import  numpy  as  np   import  cv2      我=,cv2.imread (& # 39; test.jpg& # 39;)   时间=imgray  cv2.cvtColor (im, cv2.COLOR_BGR2GRAY)   ret, thresh =, cv2.threshold (imgray 127255 0)   轮廓、图像,还以为;hierarchy =, cv2.findContours(打、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 小姐:拷贝范围(0,len(轮廓)):,   ,,x,, y,, w, h =, cv2.boundingRect(轮廓[我]),,   cv2.rectangle才能(图片,,(x, y), (x + w, y + h), (153153 0), 5)

<强> 3切割轮廓

轮廓的切割主要是通过数组切片实现的,不过这里有一个小技巧:就是图片切割的w h是宽和高,而数组讲的是行(行)和列(列)

所以,在切割图片时,数组的高和宽是反过来写的

,, newimage=形象[x + 2: y + 2, + 2: x +报税表),#,先用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主要应用领域有哪些

1,云计算,典型应用OpenStack.2,网前端开发,众多大型网站均为python开发。3。人工智能应用,基于大数据分析和深度学习而发展出来的人工智能本质上已经无法离开python.4,系统运维工程项目,自动化运维的标配就是python + Django/flask.5,金融理财分析,量化交易,金融分析。6,大数据分析。

以上是“python如何通过OpenCV的findContours获取轮廓并切割”这篇文章的所有内容,感谢各位的阅读!希望分享的内容对大家有帮助,更多相关知识,欢迎关注行业资讯频道!

Python如何通过OpenCV的findContours获取轮廓并切割