Python通過(guò)OpenCV的findContours獲取輪廓并切割實(shí)例
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的第二個(gè)函數(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切割輪廓
輪廓的切割主要是通過(guò)數(shù)組切片實(shí)現(xiàn)的,不過(guò)這里有一個(gè)小技巧:就是圖片切割的w,h是寬和高,而數(shù)組講的是行(row)和列(column)
所以,在切割圖片時(shí),數(shù)組的高和寬是反過(guò)來(lái)寫的
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)
這樣就可以把確定的輪廓都切割出來(lái)了。
總結(jié)
以上就是本文關(guān)于Python通過(guò)OpenCV的findContours獲取輪廓并切割實(shí)例的全部?jī)?nèi)容,希望對(duì)大家有所幫助。感興趣的朋友可以繼續(xù)參閱本站:
OpenCV-Python實(shí)現(xiàn)輪廓檢測(cè)實(shí)例分析
如有不足之處,歡迎留言指出。感謝朋友們對(duì)本站的支持!
- Python OpenCV獲取視頻的方法
- Python基于opencv調(diào)用攝像頭獲取個(gè)人圖片的實(shí)現(xiàn)方法
- python opencv鼠標(biāo)事件實(shí)現(xiàn)畫框圈定目標(biāo)獲取坐標(biāo)信息
- python-opencv獲取二值圖像輪廓及中心點(diǎn)坐標(biāo)的代碼
- python openCV獲取人臉部分并存儲(chǔ)功能
- python3+openCV 獲取圖片中文本區(qū)域的最小外接矩形實(shí)例
- python openCV實(shí)現(xiàn)攝像頭獲取人臉圖片
- OpenCV-Python實(shí)現(xiàn)凸包的獲取
- python使用OpenCV獲取高動(dòng)態(tài)范圍成像HDR
相關(guān)文章
Python中使用gzip模塊壓縮文件的簡(jiǎn)單教程
這篇文章主要介紹了Python中使用gzip模塊壓縮文件的簡(jiǎn)單教程,本文的例子主要針對(duì)類UNIXZ系統(tǒng),需要的朋友可以參考下2015-04-04
python3中編碼獲取網(wǎng)頁(yè)的實(shí)例方法
在本篇文章里小編給大家整理了一篇關(guān)于python3中編碼獲取網(wǎng)頁(yè)的實(shí)例方法,有興趣的朋友們可以學(xué)習(xí)下。2020-11-11
TensorFlow Saver:保存和讀取模型參數(shù).ckpt實(shí)例
今天小編就為大家分享一篇TensorFlow Saver:保存和讀取模型參數(shù).ckpt實(shí)例,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2020-02-02
以SortedList為例詳解Python的defaultdict對(duì)象使用自定義類型的方法
這篇文章主要介紹了以SortedList為例詳解Python的defaultdict對(duì)象使用自定義類型的方法,文章圍繞主題展開(kāi)詳細(xì)的內(nèi)容介紹,具有一定的參考價(jià)值,需要的朋友可以參考一下2022-07-07
利用python解決mysql視圖導(dǎo)入導(dǎo)出依賴的問(wèn)題
這篇文章主要給大家介紹了關(guān)于利用python解決mysql視圖導(dǎo)入導(dǎo)出依賴的問(wèn)題,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家學(xué)習(xí)或者使用python具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧。2017-12-12
python模擬鼠標(biāo)點(diǎn)擊和鍵盤輸入的操作
這篇文章主要介紹了python模擬鼠標(biāo)點(diǎn)擊和鍵盤輸入的操作,本文給大家介紹的非常詳細(xì),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2019-08-08
Python中@classmethod和@staticmethod的區(qū)別
本文主要介紹了Python中@classmethod和@staticmethod的區(qū)別,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2025-01-01
python實(shí)現(xiàn)通過(guò)代理服務(wù)器訪問(wèn)遠(yuǎn)程url的方法
這篇文章主要介紹了python實(shí)現(xiàn)通過(guò)代理服務(wù)器訪問(wèn)遠(yuǎn)程url的方法,涉及Python使用urllib模塊操作URL的相關(guān)技巧,非常具有實(shí)用價(jià)值,需要的朋友可以參考下2015-04-04

