web-dev-qa-db-ja.com

画像の上に円を描くopencv

Im usign pythonとopencvでウェブカメラから画像を取得し、画像の上に円を描く方法を知りたい。

enter image description here

私のコード:

import cv2
import numpy
import sys

if __name__ == '__main__':


    #get current frame from webcam
    cam = cv2.VideoCapture(0)
    img = cam.read()

    #how draw a circle????

    cv2.imshow('WebCam', img)

    cv2.waitKey()

前もって感謝します。

14
Art Grc
cv2.circle(img, center, radius, color, thickness=1, lineType=8, shift=0) → None
Draws a circle.

Parameters: 
img (CvArr) – Image where the circle is drawn
center (CvPoint) – Center of the circle
radius (int) – Radius of the circle
color (CvScalar) – Circle color
thickness (int) – Thickness of the circle outline if positive, otherwise this indicates that a filled circle is to be drawn
lineType (int) – Type of the circle boundary, see Line description
shift (int) – Number of fractional bits in the center coordinates and radius value

境界のみに「厚さ」パラメータを使用します。

17
Abhishek Thakur

追加情報:

OpenCVの描画関数cv2.circle()のパラメーター「center」は、2つの整数のタプルを取ります。最初は幅の場所で、2番目は高さの場所です。この順序は、通常の配列のインデックス付けとは異なります。次の例は問題を示しています。

import numpy as np
import cv2

height, width = 150, 200
img = np.zeros((height, width, 3), np.uint8)
img[:, :] = [255, 255, 255]

# Pixel position to draw at
row, col = 20, 100

# Draw a square with position 20, 100 as the top left corner
for i in range(row, 30):
    for j in range(col, 110):
        img[i, j] = [0, 0, 255]

# Will the following draw a circle at (20, 100)?
# Ans: No. It will draw at row index 100 and column index 20.
cv2.circle(img,(row, col), 5, (0,255,0), -1)

cv2.imwrite("square_circle_opencv.jpg", img)

python opencv cv2.circle center indexing issue

15
yang5

試してみる

cv2.circle(img, center, radius, color[, thickness[, lineType[, shift]]])

詳細については、 documentation を参照してください

3
Rachel Gallen