检索圆点

时间:2012-12-29 15:44:48

标签: opencv geometry points

在OpenCV中,我知道如何绘制圆圈,但有没有办法找回构成圆圈的所有点?我希望我不必经历计算轮廓。

由于

2 个答案:

答案 0 :(得分:2)

如果您知道如何绘制圆圈,

  1. 创建与原始图像大小相同的黑色图像
  2. 然后在黑色图像上绘制白色的圆圈
  3. 现在在此黑色图像中,检查白色点
  4. 如果您使用的是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类似的操作

  

如果您知道如何绘制圆,

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

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

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

实际上,背景不必是黑色,圆圈也不必是白色,但是背景应该是纯色,圆圈的颜色应与背景不同。