You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何用OpenCV和Python绘制带直角端点的直线

解决OpenCV line函数粗线条端点呈弧形的问题

要让cv2.line绘制的粗线条端点为直角(方形),只需在调用函数时指定lineType参数,结合方形端点帽的枚举值即可,无需使用rectangle函数。

修改后的代码:

import cv2
thickness = 24
img1 = cv2.imread("AMIR4.jpg")
# 设置线条端点为方形,解决弧形端点问题
cv2.line(img1, (190,55), (85,55), (255,0,0), thickness, lineType=cv2.LINE_8 | cv2.LINE_CAP_SQUARE)
cv2.imshow("image", img1)
cv2.waitKey(0)
cv2.destroyAllWindows()

关键说明:

  • OpenCV中cv2.line默认使用cv2.LINE_CAP_ROUND(圆形帽)绘制粗线条端点,所以会呈现弧形
  • cv2.LINE_CAP_SQUARE是方形端点帽的枚举值,与cv2.LINE_8(基础线条绘制算法)组合后,就能得到直角端点的直线
  • 对于水平或垂直线,使用cv2.LINE_4替换cv2.LINE_8也能达到相同效果,两者仅在斜线的平滑度上有差异

内容的提问来源于stack exchange,提问作者Ankita

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.25 09:15:40