cv2.line(img, pt1, pt2, color[, thickness[, lineType[, shift]]]) → img
img,背景图
pt1,直线起点坐标
pt2,直线终点坐标
color,当前绘画的颜色。如在BGR模式下,传递(255,0,0)表示蓝色画笔。灰度图下,只需要传递亮度值即可。
thickness,画笔的粗细,线宽。若是-1表示画封闭图像,如填充的圆。默认值是1.
lineType,线条的类型,
如8-connected类型、anti-aliased线条(反锯齿),默认情况下是8-connected样式ide,cv2.LINE_AA表示反锯齿线条,在曲线的时候视觉效果更佳。
import numpy as np
import cv2
# 画片生成 300 × 300, np.zeros()默认的变量类型是float64, 所以指定dtype为 uint8
canvas = np.zeros((300, 300, 3), dtype="uint8")
# 绿色颜色
green = (0, 255, 0)
# 画一条绿色 直线,从左上角到右下角
cv2.line(canvas, (0, 0), (300, 300), green)
cv2.imshow("Canvas", canvas)
cv2.waitKey(0)
# 红色颜色
red = (0, 0, 255)
# 画一右对角线,并指定线粗细为 3
cv2.line(canvas, (300, 0), (0, 300), red, 3)
cv2.imshow("Canvas", canvas)
cv2.waitKey(0)
cv2.destroyAllWindows()