0

在 OpenCV 中,我知道如何画圆,但是有没有办法取回构成圆的所有点?我希望我不必通过计算轮廓。

谢谢

4

2 回答 2

3

如果你知道如何画圆,

  1. 创建与原始图像大小相同的黑色图像
  2. 然后用白色在黑色图像上绘制圆圈
  3. 现在在这个黑色图像中,检查白色的点

如果您使用的是 Python API,您可以执行以下操作:

import numpy as np
import cv2
img = np.zeros((500,500),np.uint8)
cv2.circle(img,(250,250),100,255)
points = np.transpose(np.where(img==255))
于 2012-12-29T17:06:07.660 回答
0

你可以做与C/C++中 python 实现的答案类似的事情

如果你知道如何画圆,

  1. 创建与原始图像大小相同的黑色图像
  2. 然后用白色在黑色图像上绘制圆圈

现在,您可以找到圆边缘的轮廓(表示为点向量),而不是检查哪些像素具有特定值。

为此,您可以使用 OpenCV 的findContours函数,该函数将为您提供圆边缘上的点。

Actually the background doesn't have to be black and the circle white, but the background should be plain and the circle should have different color than background.

于 2018-09-05T14:02:54.830 回答