opencv中cv2.rectangle函数中4px粗怎么描绘
时间: 2024-04-15 14:28:06 浏览: 133
在 OpenCV 中,可以使用 `cv2.rectangle()` 函数的 `thickness` 参数来指定矩形框的线条粗细。如果要绘制 4 像素粗的矩形框,可以将 `thickness` 参数设置为 -1。
以下是代码示例:
```python
import cv2
# 读取图像
image = cv2.imread('image.jpg')
# 绘制 4px 粗的矩形框
pt1 = (100, 100) # 左上角坐标
pt2 = (200, 200) # 右下角坐标
color = (0, 255, 0) # 绿色
thickness = -1 # 线条粗细为 -1,表示填充矩形框
cv2.rectangle(image, pt1, pt2, color, thickness)
# 显示图像
cv2.imshow('Image', image)
cv2.waitKey(0)
cv2.destroyAllWindows()
```
以上代码会在图像中绘制一个左上角坐标为 (100, 100),右下角坐标为 (200, 200) 的绿色矩形框,线条粗细为 4px。
希望以上信息对你有所帮助!
相关问题
opencv绘制一个宽320px 高160px圆角矩形
在OpenCV中,你可以使用`cv2.rectangle()`函数绘制矩形,但是它并不直接支持设置圆角。为了创建一个圆角矩形,你需要先计算并创建一个边缘像素宽度等于圆角半径的矩形边框,然后填充这个边框。以下是一个简单的步骤示例:
```python
import cv2
import numpy as np
# 创建一个320x160的黑色背景
img = np.zeros((480, 640, 3), dtype=np.uint8)
# 设定圆角矩形的尺寸和圆角半径(这里假设圆角半径是5)
width = 320
height = 160
radius = 5
# 计算矩形边框的坐标,留出圆角部分
x_start = int((width - radius) / 2)
y_start = int((height - radius) / 2)
x_end = x_start + width
y_end = y_start + height
# 创建一个新的边框图像,只有圆角处为白色,其余为透明
border_img = np.zeros_like(img[y_start:y_end, x_start:x_end])
cv2.circle(border_img, (int((x_start + x_end) / 2), int((y_start + y_end) / 2)), radius, (255, 255, 255), thickness=-1)
# 将边框复制到原图上,得到圆角矩形
img[y_start:y_end, x_start:x_end] += border_img
# 显示结果
cv2.imshow("Rounded Rectangle", img)
cv2.waitKey(0)
cv2.destroyAllWindows()
```
在这个例子中,我们首先创建了一个全黑的图像,然后画了一个矩形区域,并在该区域内应用了圆形边缘。注意,为了让圆角显示出来,我们在原始矩形的边界外额外绘制了一个圆形。
OpenCV绘制宽为320px,高为160px的圆角矩形
OpenCV是一个广泛用于计算机视觉和机器学习的开源库,它支持在图像上绘制各种形状,包括圆角矩形。要使用OpenCV绘制一个宽为320像素、高为160像素的圆角矩形,你可以参考以下步骤:
首先,你需要导入必要的库并创建一个窗口来显示图像:
```python
import cv2
import numpy as np
# 创建一个白色的背景图像
img = np.zeros((480, 640, 3), dtype=np.uint8)
```
然后,使用`cv2.rectangle()`函数创建矩形,并传递参数设置圆角。这里我们可以使用`cv2.filledPoly()`函数绘制填充的颜色矩形,因为`rectangle()`默认是无填充的:
```python
# 定义圆角矩形的左上角坐标 (x, y),宽度,高度和半径
rect = ((160, 160), (320, 320)) # (中心点, 边长)
radius = min(rect[0][0], rect[0][1]) // 2 # 矩形边长的一半作为圆角半径
# 创建顶点列表,用于绘制圆角矩形
vertices = np.array([
[rect[0][0] - radius, rect[0][1] + radius],
[rect[1][0] - radius, rect[0][1] + radius],
[rect[1][0] + radius, rect[0][1] - radius],
[rect[0][0] + radius, rect[0][1] - radius]
])
# 使用filledPoly绘制圆角矩形
cv2.fillConvexPoly(img, vertices, (255, 0, 0)) # 设置颜色为红色(BGR格式)
# 显示图像
cv2.imshow('Circle-Rounded Rectangle', img)
cv2.waitKey(0) # 按任意键关闭窗口
```
阅读全文