【问题标题】:OpenCV - Creating an Ellipse shaped mask in pythonOpenCV - 在 python 中创建椭圆形蒙版
【发布时间】:2015-12-01 22:05:14
【问题描述】:

我已经从 OpenCV 中的图像中提取了圆形遮罩。我使用了以下代码:

H, W = img.shape
x, y = np.meshgrid(np.arange(W), np.arange(H))**
d2 = (x - xc)**2 + (y - yc)**2**
mask = d2 < r **2**

并且,使用掩码值来查找圆外的平均颜色。

outside = np.ma.masked_where(mask, img)**
average_color = outside.mean()**

我想在 OpenCV Python 中使用上述相同过程从图像中提取椭圆。

谢谢。

【问题讨论】:

  • cv::ellipse 绘图功能是否也适用于 python?如果是,请使用它
  • cv:ellipse 绘图函数在python中工作,但它只是绘制椭圆,不掩盖它。
  • 画一个实心椭圆:D
  • 这行得通吗?可以举个例子吗?
  • 是的,同样适用于 cv::circle

标签: python opencv ellipse


【解决方案1】:

画椭圆

要绘制椭圆,我们需要传递几个参数。一个参数是中心位置 (x,y)。下一个参数是轴长度(长轴长度,短轴长度)。 angle 是椭圆沿逆时针方向旋转的角度。 startAngle 和 endAngle 表示从主轴顺时针方向测量的椭圆弧的起点和终点。即给出值 0 和 360 给出完整的椭圆。有关更多详细信息,请查看 cv2.ellipse() 的文档。下面的示例在图像的中心绘制一个半椭圆。

cv2.ellipse(img,(256,256),(100,50),0,0,180,255,-1)

取自 Miki 在问题评论中的链接

【讨论】:

  • 请注意,旋转角度现在是顺时针方向,不确定何时/是否切换。
猜你喜欢
  • 2014-03-27
  • 2014-01-26
  • 2019-12-06
  • 2018-12-02
  • 2015-08-06
  • 2019-06-02
  • 2017-09-12
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多