OpenCV でドローサークル
このチュートリアルでは、Python で OpenCV の circle()
関数を使用して画像に円を描く方法について説明します。
Python で OpenCV の circle()
関数を使用して画像上に円を描く
OpenCV の circle()
関数を使用して、目的の場所、半径、色、太さ、線の種類で画像に円を描くことができます。
circle()
関数の最初の引数は、円を描きたい画像です。2 番目の引数は円の中心点であり、その値は、円の中心として使用するピクセルの x 軸と y 軸の値を含む点である必要があります。
場所は、画像の左上隅から始まります。3 番目の引数は円の半径であり、その値は任意の整数にすることができます。4 番目の引数は円の色であり、赤色の場合は (0,0,255)
のような BGR トリプレット値である必要があります。
上記の引数は必須であり、そのうちの 1つが欠落していると、エラーが発生します。
たとえば、OpenCV の imread()
関数を使用して画像を読み取り、circle()
関数を使用して画像に円を描き、OpenCV の imshow()
関数を使用して表示します。以下のコードを参照してください。
import cv2
img = cv2.imread("cat.jpg")
imgWC = cv2.circle(img, (110, 110), 100, (0, 0, 255))
cv2.imshow("Image With Circle", imgWC)
cv2.waitKey(0)
出力:
変更できるオプションの引数は他に 3つあります。オプションの引数には、使用されるデフォルト値があります。
オプションの引数の値を定義しないと仮定します。最初のオプションの引数は円の太さで、これは任意の整数に設定できます。
2 番目のオプションの引数は線種またはスタイルで、デフォルトで cv2.LINE_8
に設定されています。3 番目のオプションの引数は、調整された中心と半径の値の小数ビットとして使用するシフト値です。
たとえば、太さなどのオプションの引数を 10
に変更し、線種を cv2.LINE_AA
に変更してみましょう。以下のコードを参照してください。
import cv2
img = cv2.imread("cat.jpg")
imgWC = cv2.circle(img, (110, 110), 100, (0, 0, 255), 10, cv2.LINE_AA)
cv2.imshow("Image With Circle", imgWC)
cv2.waitKey(0)
出力:
円の太さを負の値に設定すると、円の領域が色で塗りつぶされます。
画像に長方形を描画する rectangle()
、線を描画する line()
、楕円を描画する ellipse()
、および putText()
など、さまざまな形状に使用できる他の関数もあります。画像にテキストを配置します。