1 回答

TA貢獻(xiàn)1779條經(jīng)驗(yàn) 獲得超6個(gè)贊
嘗試這個(gè):
該方案的基本思想是,在執(zhí)行后得到圖像的輪廓,threshold()并檢測(cè)輪廓中最大的輪廓。
import cv2
image = cv2.imread("test.jpg", 1)
img = cv2.cvtColor(image,cv2.COLOR_BGR2GRAY)
cv2.threshold(img,0,255,cv2.THRESH_BINARY+cv2.THRESH_OTSU,img)
im2, contours, hier = cv2.findContours(img, cv2.RETR_EXTERNAL,cv2.CHAIN_APPROX_NONE)
if len(contours) != 0:
#find the biggest area
c = max(contours, key = cv2.contourArea)
x,y,w,h = cv2.boundingRect(c)
cv2.rectangle(image,(x,y),(x+w,y+h),(0,255,0),1)
cv2.imshow("Result", image)
cv2.waitKey(0)
輸出:
添加回答
舉報(bào)