When using OpenCV to process images, we sometimes need to draw line segments, rectangles, etc. on the image. In OpenCV, use the
cv2.line(dst,pt1,pt2,color,thickness=None,lineType=None,shift=None)function to draw line segments.
Parameter meaning:
dst: output image.
pt1,pt2: required parameters. The coordinate points of the line segment, indicating the starting point and the end point respectively
color: required parameter. Used to set the color of the line segment
thickness: optional parameter. Used to set the width of the line segment
lineType: optional parameter. Used to set the type of line segment, optional 8 (8 adjacent connecting lines - default), 4 (4 adjacent connecting lines) and cv2.LINE_AA for anti-aliasing
Source code path:
/home/pi/project_demo/06.Open_source_cv_fundamentals_course/C.Image_Processing_Text_Drawing/04_Line_Drawing.ipynb
ximport cv2
import numpy as np
import matplotlib.pyplot as plt
newImageInfo = (600, 600, 3)
dst = np.zeros(newImageInfo,np.uint8)
# line
# 绘制线段 1 dst 2 begin 3 end 4 color. Draw line segment 1 dst 2 begin 3 end 4 color.
cv2.line(dst, (100,100), (450,300), (0,0,255))
# 5 line w
cv2.line(dst, (100,200), (400,200), (0,255,255), 10)
# 6 line type
cv2.line(dst, (100,300), (400,300), (0,255,0), 10, cv2.LINE_AA)
cv2.line(dst, (200,150), (50,250), (25,100,255))
cv2.line(dst, (50,250), (400,380), (25,100,255))
cv2.line(dst, (400,380), (200,150), (25,100,255))
# cv2.imshow('dst',dst)
# cv2.waitKey(0)
dst = cv2.cvtColor(dst, cv2.COLOR_BGR2RGB)
plt.imshow(dst)
plt.show()