![](/img/trans.png)
[英]Find contour and boundary to obtain points inside image OpenCV Python
[英]Extracting contents inside of found boundary python opencv?
我想提取圖像的一部分並將其另存為邊界內的單獨圖像。 我已經提取並繪制了邊界,如下所示:
cnts, hierarchy= cv2.findContours(gray.copy(),cv2.RETR_EXTERNAL,cv2.CHAIN_APPROX_SIMPLE)
for contour in cnts:
print(cv2.boundingRect(contour))
cv2.drawContours(img,cnts,-1,(125,125,0),3 )
cv2.imshow('contours',img)
cv2.waitKey(0)
cv2.destroyAllWindows()
如何獲得邊界內的圖像作為單獨的圖像? 這是我的圖像:
您應該找到邊界矩形,然后將其保存到新圖像
像這樣:
r = cv2.boundingRect(contour)
crop_img = im[r[1]:r[1]+r[3], r[0]:r[0]+r[2]]
cv2.imwrite('roi.png', crop_img)
因為numpy切片期望y:y + h,所以x:x + h
如果需要定向的邊界框,請使用minAreaRect
編輯:
您說只想要米粒。 由於任何圖像都是矩形的,因此您始終會有一些背景。 您可以做的是將背景塗成黑色:
如果您想吃所有的米飯,就應該在里面做所有的事情。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.