请用cv2.rectangle 画一个长方形
时间: 2024-01-10 13:19:42 浏览: 32
以下是使用cv2.rectangle()函数画一个长方形的示例代码:
```python
import cv2
# 读取图片
img = cv2.imread('example.jpg')
# 定义长方形的左上角和右下角坐标
pt1 = (100, 100)
pt2 = (200, 200)
# 画出长方形
cv2.rectangle(img, pt1, pt2, (0, 0, 255), 2)
# 显示图片
cv2.imshow('image', img)
cv2.waitKey(0)
cv2.destroyAllWindows()
```
在这个例子中,我们首先使用cv2.imread()函数读取了一张图片,然后定义了长方形的左上角和右下角坐标,接着使用cv2.rectangle()函数画出了长方形,并将其颜色设置为红色,线宽设置为2。最后使用cv2.imshow()函数显示了图片。
相关问题
如何利用cv2.rectangle画多个框
您可以使用cv2.rectangle()函数画多个框,只需要在循环中使用这个函数即可。以下是一个示例代码:
```
import cv2
# 读取图片
img = cv2.imread('image.jpg')
# 定义框的坐标和颜色
boxes = [[10, 10, 100, 100], [150, 150, 200, 200]]
colors = [(255, 0, 0), (0, 255, 0)]
# 循环画框
for box, color in zip(boxes, colors):
x1, y1, x2, y2 = box
cv2.rectangle(img, (x1, y1), (x2, y2), color, 2)
# 显示图片
cv2.imshow('image', img)
cv2.waitKey()
cv2.destroyAllWindows()
```
其中,boxes表示框的坐标,可以是一个列表,每个元素是一个框的四个角的坐标;colors表示框的颜色,也可以是一个列表,每个元素是一个BGR颜色元组;zip()函数用于将这两个列表一一对应起来循环使用。另外,cv2.rectangle()函数的第四个参数是线宽,可以自行调整。
cv2.rectangle 画虚线框
要使用`cv2.rectangle`函数画虚线框,你可以通过设置线条的参数来实现。下面是一个示例代码:
```python
import cv2
# 读取图像
image = cv2.imread('image.jpg')
# 定义虚线框的起始点和终点坐标
start_point = (100, 100)
end_point = (300, 300)
# 设置线条颜色和宽度
color = (0, 255, 0) # 绿色
thickness = 1
# 设置线条类型为虚线
line_type = cv2.LINE_8
shift = 0
# 绘制虚线框
cv2.rectangle(image, start_point, end_point, color, thickness, line_type, shift)
# 显示图像
cv2.imshow('Image', image)
cv2.waitKey(0)
cv2.destroyAllWindows()
```
在上述代码中,`start_point`和`end_point`分别表示虚线框的起始点和终点坐标。`color`表示线条颜色,这里使用了绿色。`thickness`表示线条宽度,设置为1。`line_type`定义了线条的类型,这里使用了`cv2.LINE_8`表示8邻域连接。最后通过调用`cv2.rectangle`函数来绘制虚线框,并通过`cv2.imshow`显示图像。
你可以根据自己的需求修改起始点、终点、颜色、宽度等参数来实现不同样式的虚线框。