【Python】OpenCV 図形を作成する方法

まくまく
まくまく
プラグラミング言語「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だとマーカーなどが扱えるのが良いですね。

出力



タイトルとURLをコピーしました