opencv绘制一个宽320px 高160px圆角矩形
时间: 2024-09-30 19:05:27 浏览: 46
在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()
```
在这个例子中,我们首先创建了一个全黑的图像,然后画了一个矩形区域,并在该区域内应用了圆形边缘。注意,为了让圆角显示出来,我们在原始矩形的边界外额外绘制了一个圆形。
阅读全文