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

アルゴリズム
ステップ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() を追加しています。
実行結果

-
PythonとOpenCVを使って画像内の円を検出する方法
OpenCVはPython向けにcv2ライブラリを提供しており、コンピュータビジョンにおけるさまざまな形状解析に活用できます。本記事では、OpenCVを使って画像の中から「円」を検出する方法を解説します。円の検出にはcv2.HoughCircles()関数を使用します。この関数は、ハフ変換(Hough Transform)を用いてグレースケール画像から円を検出するものです。以下の例では、入力画像を読み込んだ後、そのコピーを作成し、ハフ変換を適用することで画像内の円を検出して出力します。構文cv2.HoughCircles(image, method, dp, minDist)各引数の意味は次の
-
PythonとOpenCVで画像の輪郭を検出・描画する方法
画像解析を行う際には、Python向けのオープンソースライブラリ「OpenCV(Open Source Computer Vision Library)」が広く利用されています。OpenCVをインストールした後、プログラム内では「cv2」という名前でインポートして使用します。 本記事では、画像ファイルに含まれる輪郭(コンタ)を検出し、描画する方法を解説します。輪郭とは、画像内の物体の形状を把握するために重要な情報で、「同じ明るさ(輝度)を持つ領域の境界上にある点を結んだ線」として定義されます。OpenCVでは、輪郭の検出にfindContours関数、輪郭の描画にdrawContours関数を