3-5Polygon.py

000: import cv2
001: import numpy as np
002:
003: if __name__ == ‘__main__’:
004: print(cv2.__version__)
005:
006: size = np.array([480, 640, 3]) # 縦480ピクセル 横640ピクセル 3チャンネル
007: # 白ベースのMat画像を生成
008: img = np.full(size, (255, 255, 255), dtype=np.uint8)
009:
010: color = np.array([0., 0., 0.]) # BGR表記
011: # 折れ線を描画する座標をここに記述する
012: pts1 = np.array([[100, 20], [230, 40], [320, 100], [380, 150], [290, 200], [200, 330], [150, 300]], np.int32)
013: pts2 = np.array([[50, 100], [100, 50], [250, 200], [100, 150]], np.int32)
014: # 多角形を描画(枠線)
015: cv2.polylines(img=img, pts=[pts1, pts2], isClosed=True, color=color, thickness=3, lineType=cv2.LINE_AA)
016:
017: pts = np.array([[400, 100], [500, 350], [300, 350]], np.int32)
018: # 多角形を描画(塗りつぶし)
019: # img = cv2.fillPoly(img=img, pts=[pts], color=color, lineType=cv2.LINE_AA)
020: # 多角形の描画が一つだけならこちらを推奨(と言うか、1つしか設定できない)
021: cv2.fillConvexPoly(img=img, points=pts, color=color, lineType=cv2.LINE_AA)
022:
023: cv2.imshow(‘Final result’, img)
024: cv2.waitKey(0)
025:
026: cv2.destroyAllWindows()