您好,登錄后才能下訂單哦!
本篇內容主要講解“cv2.boxPoints()怎么使用”,感興趣的朋友不妨來看看。本文介紹的方法操作簡單快捷,實用性強。下面就讓小編來帶大家學習“cv2.boxPoints()怎么使用”吧!
獲取車牌輪廓上的點集后,可用cv2.minAreaRect()獲取點集的最小外接矩形。返回值rect內包含該矩形的中心點坐標、高度寬度及傾斜角度等信息,使用cv2.boxPoints()可獲取該矩形的四個頂點坐標。
# 獲取最小外接矩陣,中心點坐標,寬高,旋轉角度 rect = cv2.minAreaRect(points) # 獲取矩形四個頂點,浮點型 box = cv2.boxPoints(rect) # 取整 box = np.int0(box)
但我們并不清楚這四個坐標點各對應著矩形的哪一個頂點,因此無法充分地利用這些坐標信息。
可以從坐標值的大小特征入手,將四個坐標與矩形的四個頂點匹配起來:在opencv的坐標體系下,縱坐標最小的是top_point,縱坐標最大的是bottom_point, 橫坐標最小的是left_point,橫坐標最大的是right_point。
# 獲取四個頂點坐標 left_point_x = np.min(box[:, 0]) right_point_x = np.max(box[:, 0]) top_point_y = np.min(box[:, 1]) bottom_point_y = np.max(box[:, 1]) left_point_y = box[:, 1][np.where(box[:, 0] == left_point_x)][0] right_point_y = box[:, 1][np.where(box[:, 0] == right_point_x)][0] top_point_x = box[:, 0][np.where(box[:, 1] == top_point_y)][0] bottom_point_x = box[:, 0][np.where(box[:, 1] == bottom_point_y)][0] # 上下左右四個點坐標 vertices = np.array([[top_point_x, top_point_y], [bottom_point_x, bottom_point_y], [left_point_x, left_point_y], [right_point_x, right_point_y]])
到此,相信大家對“cv2.boxPoints()怎么使用”有了更深的了解,不妨來實際操作一番吧!這里是億速云網站,更多相關內容可以進入相關頻道進行查詢,關注我們,繼續學習!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。