cv2.boundingRect(cnt)
时间: 2024-02-06 10:04:25 浏览: 22
cv2.boundingRect()是一个OpenCV函数,用于计算给定轮廓的边界矩形。它接受一个轮廓作为输入,并返回一个四元组,包含边界矩形的左上角点的x和y坐标,以及它的宽度和高度。例如,如果你有一个名为cnt的轮廓对象,你可以使用以下代码计算其边界矩形:
```
x, y, w, h = cv2.boundingRect(cnt)
```
这将返回边界矩形的左上角点的x和y坐标,以及它的宽度和高度,分别存储在变量x、y、w和h中。
相关问题
opencvcv2.boundingRect
opencvcv2.boundingRect是OpenCV中的一个函数,用于计算给定轮廓的最小边界矩形。根据引用的代码,该函数的使用方式如下:
x, y, w, h = cv2.boundingRect(cnt)
其中,cnt是轮廓的变量名,x和y表示矩形左上角的坐标,w和h分别表示矩形的宽度和高度。这个函数可以用来绘制最小矩形框架,以突出显示目标轮廓的边界。
contours, hierarchy = cv2.findContours(opening, cv2.RETR_EXTERNAL, cv2.CHAIN_APPROX_SIMPLE) for cnt in contours: perimeter = cv2.arcLength(cnt, True) if perimeter > 500: # 画出矩形框 x, y, w, h = cv2.boundingRect(cnt) cv2.rectangle(frame, (x, y), (x + w, y + h), (0, 255, 0), 2把这段改为大于500小于1000
修改后的代码如下:
```
contours, hierarchy = cv2.findContours(opening, cv2.RETR_EXTERNAL, cv2.CHAIN_APPROX_SIMPLE)
for cnt in contours:
perimeter = cv2.arcLength(cnt, True)
if 500 < perimeter < 1000: # 修改条件为周长大于500小于1000
x, y, w, h = cv2.boundingRect(cnt)
cv2.rectangle(frame, (x, y), (x + w, y + h), (0, 255, 0), 2)
```
这段代码会找出周长大于500小于1000的所有轮廓,并在原始图像frame上画出其包围矩形框。