OpenCV関連
折れ線の描画
import cv2
# img : 画像データ
# pts : int 折れ線配列(3次元配列)
# 折れ線i - 点j - 座標k
# i = 0,1,...
# j = 0,1,...
# k = 0,1 (x座標が0番目, y座標が1番目)
# isClosed : bool 折れ線が閉じるかどうか
# color : RGB or RGBA 各値0~255 (cv2.cvtColor(img, cv2.COLOR_RGBA2BGRを使用する場合))
# リストはint,float可
# np.arrayはint不可,float可
# thickness : int 折れ線の太さ(デフォルト=1)
# lineType : 線の種別 cv.FILLED, cv2.LINE_4, cv2.LINE_8, cv2.LINE_AA
# デフォルト = cv2.LINE_8
img = cv2.polylines(img, pts, isClosed, color, thickness, lineType)
サンプル
import numpy as np
import cv2
img = np.full((200,300,3),255,dtype=np.uint8)
pts = np.array( [[10,10],[60,100],[10,190]], dtype=np.int32)
# main
img = cv2.polylines(img,[pts], False, [ 0, 0,255], 1, lineType=cv2.LINE_AA)
cimg = cv2.cvtColor(img, cv2.COLOR_RGBA2BGR)
cv2.imwrite("sample1.png",cimg)
pts1 = np.array( [[ 80, 20],[180,100],[ 80,180]], dtype=np.int32)
pts2 = np.array( [[200, 50],[270, 50],[270,150],[200,150]], dtype=np.int32)
# main
img = cv2.polylines(img,[pts1,pts2], True, [ 0,128, 0], 1, lineType=cv2.LINE_AA)
cimg = cv2.cvtColor(img, cv2.COLOR_RGBA2BGR)
cv2.imwrite("sample2.png",cimg)
出力結果
sample1.png
sample2.png
参考文献
opencv> 描画函数 > cv::polylines