
まくまく
プラグラミング言語「PYTHON」を使ってみよう!!業務自動化・効率化の実例を踏まえ、解説できればと思っています。対象は、プログラムを学び始めた初心者向けとなります。今回はopenCVを使用して図形を作成してみようと思います。
使用するのはopenCV
使用するのは、画像処理ライブラリのopenCVです。ここではopenCVがインストールされているのを前提として書き進めていきます。
サンプルコード
import cv2
import numpy as np
img = np.full((512,512,3), (255,255,255), dtype = np.uint8)
cv2.line(img, (155,120), (345, 120), (0, 0, 255), 5)
cv2.rectangle(img, (50, 50), (450, 450), (0,255,0), 3)
cv2.circle(img,(180, 220), 50, (255, 0, 0), 3)
cv2.arrowedLine(img, (155, 320), (345, 320), (0, 0, 255), thickness=4)
cv2.arrowedLine(img, (155, 380), (345, 380), (0, 0, 255), tipLength=0.1)
cv2.drawMarker(img, (150, 420), (0, 0, 255), markerType=cv2.MARKER_CROSS, markerSize=15)
cv2.drawMarker(img, (180, 420), (0, 0, 255), markerType=cv2.MARKER_TILTED_CROSS, markerSize=15)
cv2.drawMarker(img, (210, 420), (0, 0, 255), markerType=cv2.MARKER_STAR, markerSize=10)
cv2.drawMarker(img, (240, 420), (0, 0, 255), markerType=cv2.MARKER_DIAMOND)
cv2.drawMarker(img, (270, 420), (0, 0, 255), markerType=cv2.MARKER_SQUARE, markerSize=15)
cv2.drawMarker(img, (300, 420), (0, 0, 255), markerType=cv2.MARKER_TRIANGLE_UP, markerSize=10)
cv2.imwrite('opencv_drawtest.png', img)
コメント
- cv2.line(img, (開始点)、(終了点)、color、thickness)
- cv2.rectangle(img,(開始点)、(対角の座標)、color、thickness)
- cv2.circle(img,(中心点), 半径, color, thickness
- cv2.arrowedLine(img,(開始点), (終了点), color, thickness
先ずは3行目の「img = np.full((512,512,3), (255,255,255), dtype = np.uint8)」で元の図形を作ります。図形を描くキャンバスの作成です。
ここでは「512ピクセル x 512ピクセル」の大きさにしました。
(255,255,255)は、背景の色です。
座標の基準点は、キャンバスの左上です。
色はRGBで表し、thicknessは線の太さです。
pillowでも同じことができますが、OpenCVだとマーカーなどが扱えるのが良いですね。
出力