cv2方框绘制

在OpenCV(通常使用cv2作为Python中的别名)中,你可以使用cv2.rectangle()函数来绘制方框。然而,cv2.rectangle()函数本身并不直接支持修改线段的样式(如虚线、点线等)。但你可以通过一些技巧来实现这些效果。

以下是一些方法来实现不同的线段样式:

  1. 实线:这是cv2.rectangle()的默认行为。
import cv2
import numpy as np

# 创建一个空白的黑色图像
img = np.zeros((500, 500, 3), dtype=np.uint8)

# 使用cv2.rectangle()绘制一个实线方框
cv2.rectangle(img, (50, 50), (200, 200), (255, 0, 0), 2)  # (img, pt1, pt2, color, thickness)

cv2.imshow('Image', img)
cv2.waitKey(0)
cv2.destroyAllWindows()
  1. 虚线:你可以通过多次绘制较短的线段来模拟虚线效果。这可能需要一些额外的循环和计算。
# 假设我们想要一个由2像素长的线段组成的虚线,间隔也是2像素
dash_length = 2
dash_space = 2
thickness = 2

for i in range(50, 200, dash_length + dash_space):
    for j in range(50, 200, dash_length + dash_space):
        cv2.rectangle(img, (i, j), (i+dash_length, j+dash_length), (255, 0, 0), thickness)

# ... 显示图像等 ...

注意:上述代码只会在方框的对角线上绘制虚线。为了在整个方框上绘制虚线,你可能需要更复杂的逻辑或使用其他方法。
3. 使用其他库:如果你需要更复杂的线段样式,可能需要考虑使用其他图形库,如PIL(Python Imaging Library)或matplotlib,这些库提供了更多的绘图选项。然后,你可以在这些库上绘制线段,并将其转换为OpenCV可以处理的格式。
4. 自定义绘制函数:对于非常特定的需求,你可能需要编写自己的绘制函数,该函数使用基本的OpenCV绘图函数(如cv2.line())来绘制具有所需样式的线段。

  • 4
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
cv2.rectangle函数包含的参数有: - img:指定一张图片,在这张图片的基础上进行绘制。 - pt1:由(x_min,y_min)组成,为绘制的边框的左上角。 - pt2:由(x_max, y_max)坐标,为绘制的边框的右下角。 - color:指定边框的颜色,由(B,G,R)组成,可以自由设定。 - thickness:线条的粗细值,为正值时代表线条的粗细(以像素为单位),为负值时边框实心。 范例代码如下: ```python import cv2 picture_path = 'E://...' picture = cv2.imread(picture_path) # picture_path为图片路径;(cv读取的文件为BGR形式) cv2.rectangle(picture, (x_min,y_min), (x_max,y_max), (255, 0, 255), -1) ``` 请注意,以上代码仅为示例,具体的参数值需要根据实际情况进行调整。 #### 引用[.reference_title] - *1* *3* [利用cv2.rectangle()绘制半透明方框(python)](https://blog.csdn.net/qq_44001342/article/details/120738484)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insertT0,239^v3^insert_chatgpt"}} ] [.reference_item] - *2* [利用cv2.rectangle()绘制矩形框(python)](https://blog.csdn.net/helloworld_Fly/article/details/125136735)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insertT0,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

大霸王龙

+V来点难题

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值