Python
 Computer >> コンピューター >  >> プログラミング >> Python

OpenCVを使って画像に長方形を描画する方法


このプログラムでは、OpenCVの rectangle() 関数を使用して、画像の上に長方形を描画します。この関数には、開始座標、終了座標、色、線の太さ、そして描画対象となる画像そのものといったパラメータを渡します。

元画像

OpenCVを使って画像に長方形を描画する方法

アルゴリズム

ステップ1: cv2をインポートする。
ステップ2: imread() を使って画像を読み込む。
ステップ3: 開始座標を定義する。
ステップ4: 終了座標を定義する。
ステップ5: 色と線の太さを定義する。
ステップ6: cv2.rectangle() 関数を使って長方形を描画する。
ステップ7: 長方形を画面に表示する。

サンプルコード

import cv2

image = cv2.imread('testimage.jpg')
height, width, channels = image.shape
start_point = (0, 0)
end_point = (width, height)
color = (0, 0, 255)
thickness = 5

image = cv2.rectangle(image, start_point, end_point, color, thickness)
cv2.imshow('Rectangle', image)
cv2.waitKey(0)
cv2.destroyAllWindows()

主なパラメータの説明

  • image: 描画対象となる画像データです。
  • start_point: 長方形の左上の頂点座標(x, y)をタプルで指定します。
  • end_point: 長方形の右下の頂点座標(x, y)をタプルで指定します。上記の例では画像の右下端を指定しているため、画像全体を囲む長方形になります。
  • color: 枠線の色をBGR形式で指定します。OpenCVではRGBではなくBGRの順序である点に注意してください。例えば (0, 0, 255) は赤を意味します。
  • thickness: 枠線の太さをピクセル単位で指定します。-1 を指定すると、中身が塗りつぶされた長方形になります。

なお、imshow() でウィンドウを表示した後は waitKey() を呼び出さないと画像が正しく表示されないため、サンプルコードでは cv2.waitKey(0)cv2.destroyAllWindows() を追加しています。

実行結果

OpenCVを使って画像に長方形を描画する方法

  1. PythonとOpenCVを使って画像内の円を検出する方法

    OpenCVはPython向けにcv2ライブラリを提供しており、コンピュータビジョンにおけるさまざまな形状解析に活用できます。本記事では、OpenCVを使って画像の中から「円」を検出する方法を解説します。円の検出にはcv2.HoughCircles()関数を使用します。この関数は、ハフ変換(Hough Transform)を用いてグレースケール画像から円を検出するものです。以下の例では、入力画像を読み込んだ後、そのコピーを作成し、ハフ変換を適用することで画像内の円を検出して出力します。構文cv2.HoughCircles(image, method, dp, minDist)各引数の意味は次の

  2. PythonとOpenCVで画像の輪郭を検出・描画する方法

    画像解析を行う際には、Python向けのオープンソースライブラリ「OpenCV(Open Source Computer Vision Library)」が広く利用されています。OpenCVをインストールした後、プログラム内では「cv2」という名前でインポートして使用します。 本記事では、画像ファイルに含まれる輪郭(コンタ)を検出し、描画する方法を解説します。輪郭とは、画像内の物体の形状を把握するために重要な情報で、「同じ明るさ(輝度)を持つ領域の境界上にある点を結んだ線」として定義されます。OpenCVでは、輪郭の検出にfindContours関数、輪郭の描画にdrawContours関数を