在OpenCV中,我知道如何绘制圆圈,但有没有办法找回构成圆圈的所有点?我希望我不必经历计算轮廓。
由于
答案 0 :(得分:2)
如果您知道如何绘制圆圈,
如果您使用的是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))
答案 1 :(得分:0)
您可以执行与C / C ++中的answer implemented in python类似的操作
如果您知道如何绘制圆,
- 创建尺寸与原始图像相同的黑色图像
- 然后在黑色图像上用白色绘制圆圈
现在,无需检查哪些像素具有特定值,您可以找到圆的边缘的轮廓(表示为点的向量)。
为此,您可以使用OpenCV的findContours函数,该函数将为您提供圆角上的点。
实际上,背景不必是黑色,圆圈也不必是白色,但是背景应该是纯色,圆圈的颜色应与背景不同。