您好,登錄后才能下訂單哦!
使用python opencv返回點集cnt的最小外接矩形,所用函數為 cv2.minAreaRect(cnt) ,cnt是點集數組或向量(里面存放的是點的坐標),并且這個點集不定個數。
舉例說明:畫一個任意四邊形(任意多邊形都可以)的最小外接矩形,那么點集 cnt 存放的就是該四邊形的4個頂點坐標(點集里面有4個點)
cnt = np.array([[x1,y1],[x2,y2],[x3,y3],[x4,y4]]) # 必須是array數組的形式 rect = cv2.minAreaRect(cnt) # 得到最小外接矩形的(中心(x,y), (寬,高), 旋轉角度) box = cv2.cv.BoxPoints(rect) # cv2.boxPoints(rect) for OpenCV 3.x 獲取最小外接矩形的4個頂點坐標 box = np.int0(box)
函數 cv2.minAreaRect() 返回一個Box2D結構rect:(最小外接矩形的中心(x,y),(寬度,高度),旋轉角度),但是要繪制這個矩形,我們需要矩形的4個頂點坐標box, 通過函數 cv2.cv.BoxPoints() 獲得,返回形式[ [x0,y0], [x1,y1], [x2,y2], [x3,y3] ]。得到的最小外接矩形的4個頂點順序、中心坐標、寬度、高度、旋轉角度(是度數形式,不是弧度數)的對應關系如下:
注意:
以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持億速云。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。