python cv2.rectangle(
时间: 2024-01-10 15:19:43 浏览: 145
GrabCut:使用opencv-python cv2.grabCut交互式剪切图像
`cv2.rectangle()`是OpenCV中用于绘制矩形的函数。它可以在图像上绘制一个矩形,可以指定矩形的左上角和右下角坐标,线条颜色和线条宽度等参数。下面是一个简单的例子:
```python
import cv2
import numpy as np
# 创建一个黑色的图像
img = np.zeros((512,512,3), np.uint8)
# 绘制一个矩形
cv2.rectangle(img,(384,0),(510,128),(0,255,0),3)
# 显示图像
cv2.imshow('rectangle',img)
cv2.waitKey(0)
cv2.destroyAllWindows()
```
这个例子创建了一个黑色的图像,然后在图像上绘制了一个矩形,左上角坐标为(384,0),右下角坐标为(510,128),线条颜色为绿色,线条宽度为3。
`cv2.rectangle()`函数的完整语法如下:
```python
cv2.rectangle(img, pt1, pt2, color[, thickness[, lineType[, shift]]])
```
其中,参数含义如下:
- `img`:要绘制矩形的图像。
- `pt1`:矩形的左上角坐标。
- `pt2`:矩形的右下角坐标。
- `color`:矩形的颜色,可以是RGB元组或灰度值。
- `thickness`:矩形边框的线条宽度,如果为负数,则表示填充整个矩形。
- `lineType`:线条类型,可以是8、4或CV_AA等。
- `shift`:坐标点小数点位数。
如果要绘制一个半透明的矩形,可以使用`cv2.addWeighted()`函数。下面是一个例子:
```python
import cv2
import numpy as np
# 读取一张图片
img = cv2.imread('test.jpg')
# 绘制一个半透明的矩形
overlay = img.copy()
cv2.rectangle(overlay, (100, 100), (300, 300), (0, 0, 255), -1)
alpha = 0.5
cv2.addWeighted(overlay, alpha, img, 1 - alpha, 0, img)
# 显示图像
cv2.imshow('rectangle',img)
cv2.waitKey(0)
cv2.destroyAllWindows()
```
这个例子读取了一张图片,然后在图片上绘制了一个左上角坐标为(100,100),右下角坐标为(300,300),颜色为红色的矩形,并将矩形设置为半透明。最后使用`cv2.addWeighted()`函数将矩形叠加到原始图片上。
阅读全文