最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Python通過OpenCV的findContours獲取輪廓并切割實(shí)例

 更新時間:2018年01月05日 10:22:41   作者:loovelj  
這篇文章主要介紹了Python通過OpenCV的findContours獲取輪廓并切割實(shí)例,具有一定借鑒價(jià)值,需要的朋友可以參考下

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的第二個函數(shù)很重要,主要分為 cv2.RETR_LIST, cv2.RETR_TREE, cv2.RETR_CCOMP, cv2.RETR_EXTERNAL,具體含義可參考官方文檔

2 畫出輪廓

為了看到自己畫了哪些輪廓,可以使用 cv2.boundingRect()函數(shù)獲取輪廓的范圍,即左上角原點(diǎn),以及他的高和寬。然后用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切割輪廓

輪廓的切割主要是通過數(shù)組切片實(shí)現(xiàn)的,不過這里有一個小技巧:就是圖片切割的w,h是寬和高,而數(shù)組講的是行(row)和列(column)

所以,在切割圖片時,數(shù)組的高和寬是反過來寫的

  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)

這樣就可以把確定的輪廓都切割出來了。

總結(jié)

以上就是本文關(guān)于Python通過OpenCV的findContours獲取輪廓并切割實(shí)例的全部內(nèi)容,希望對大家有所幫助。感興趣的朋友可以繼續(xù)參閱本站:

python+opencv輪廓檢測代碼解析

OpenCV-Python實(shí)現(xiàn)輪廓檢測實(shí)例分析

如有不足之處,歡迎留言指出。感謝朋友們對本站的支持!

相關(guān)文章

最新評論

高碑店市| 密山市| 潜江市| 侯马市| 威远县| 龙泉市| 红安县| 通许县| 巴楚县| 长治市| 绥德县| 抚宁县| 临汾市| 开封市| 金平| 墨竹工卡县| 闸北区| 年辖:市辖区| 通许县| 宁国市| 柳林县| 永丰县| 东源县| 安宁市| 临西县| 青州市| 衡山县| 项城市| 象山县| 淮北市| 敦化市| 桦甸市| 辽阳县| 大洼县| 邮箱| 长宁县| 中方县| 凤冈县| 沈丘县| 三河市| 高雄县|