首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >OpenCV,两条曲线之间的面积

OpenCV,两条曲线之间的面积
EN

Stack Overflow用户
提问于 2014-04-22 11:09:54
回答 1查看 964关注 0票数 3

我在Python中使用Python库。问题是如何在单独的roi中选择跨越两条曲线的面积?曲线由两个二次多项式定义。

我想在曲线1和曲线2之间的限制区域找到黑色像素的计数。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-04-22 12:07:39

您可以通过绘制椭圆创建掩码,但是您应该从您的等式中获得以下数据,

  • 中心-椭圆的中心(在这里我使用的是图像中心)。
  • 轴-椭圆主轴尺寸的一半(在这里,我分别用图像大小/2和图像大小/4来表示这两条曲线)。
  • 角-椭圆旋转角,以度为单位(这里我使用0)
  • startAngle -椭圆弧的起始角,以度为单位。(这里我用了0)
  • 以度为单位的椭圆弧的endAngle结束角(这里我用-180)

如果您得到上述两条曲线的数据,您可以简单地用椭圆绘制thickness=CV_FILLED,

  1. 首先用color=255绘制最大椭圆。
  2. 现在画第二个椭圆,颜色= 0。

见一个例子,

代码语言:javascript
运行
复制
   Mat src(480,640,CV_8UC3,Scalar(0,0,0));
   ellipse(src,Point(src.cols/2,src.rows/2), Size (src.cols/2,src.rows/2), 0, 0,-180,Scalar(0,0,255), -1,8, 0);
   ellipse(src,Point(src.cols/2,src.rows/2), Size (src.cols/4,src.rows/4), 0, 0,-180,Scalar(0,0,0), -1,8, 0);

如果您想要将其用作掩码,则在单个通道映像上绘制它。

编辑:-

若要查找该区域,请使用color=255绘制到单通道图像。

然后使用countNonZero获取白色像素计数。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/23217763

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档