python轮廓内接矩形
时间: 2023-10-10 17:08:09 浏览: 81
要计算Python中轮廓的内接矩形,可以使用OpenCV库的函数。首先,需要通过findContours函数找到图像中的轮廓。然后,可以使用minAreaRect函数计算出每个轮廓的最小外接矩形。接着,可以使用boxPoints函数将最小外接矩形的坐标转换为矩形的四个顶点的坐标。最后,可以使用drawContours函数绘制出内接矩形。
以下是一个示例代码:
import cv2
import numpy as np
# 读取图像并转换为灰度图像
img = cv2.imread("contours.png")
gray = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)
# 查找轮廓
contours, _ = cv2.findContours(gray, cv2.RETR_EXTERNAL, cv2.CHAIN_APPROX_SIMPLE)
# 计算每个轮廓的最小外接矩形并绘制出内接矩形
for contour in contours:
rect = cv2.minAreaRect(contour)
box = np.int0(cv2.boxPoints(rect))
cv2.drawContours(img, [box], -1, (0, 255, 0), 3)
# 显示结果图像
cv2.imshow("Result", img)
cv2.waitKey(0)
cv2.destroyAllWindows()
在这个示例代码中,我们首先读取图像并将其转换为灰度图像。然后,使用findContours函数找到图像中的轮廓。接下来,遍历每个轮廓,使用minAreaRect函数计算出每个轮廓的最小外接矩形。然后,使用boxPoints函数将最小外接矩形的坐标转换为矩形的四个顶点的坐标。最后,使用drawContours函数绘制出内接矩形,并将结果显示出来。
希望以上代码能够帮到你! <span class="em">1</span><span class="em">2</span><span class="em">3</span>
#### 引用[.reference_title]
- *1* [获取图像最大轮廓、最小外接矩形、最大内接矩形](https://blog.csdn.net/weixin_45515850/article/details/127933704)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"]
- *2* *3* [【转载】OpenCV-Python系列之轮廓入门(二十七)](https://blog.csdn.net/weixin_44237705/article/details/108572914)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"]
[ .reference_list ]
阅读全文