如何用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
相关产品推荐
相关产品推荐

