opencv物体轮廓角点检测

2024-01-05

I have images of a smelting cube, forming into a droplet over time. So far, i extracted the contour of it, but next i'd need to to distinguish between object and surface. My Idea is to detect the corners where object touches surface, but i am struggling to find a reasonable approach how to do so (preferably using the c++ interface of opencv). I'd appreciate any suggestions.
Here are some examples of the extracted contour:
1 2 3 4

编辑: @哈里斯:

我尝试了你的建议的一个变体,它正在为我完成工作:

在近似轮廓中,我从左侧接近,寻找具有指定范围内的值的第一个角度,然后从右侧进行相同的操作。由于近似轮廓点是原始轮廓点的子集,因此我识别原始序列中的 2 个角点,并在两个角处切割它。中间部分我作为水滴,左右部分我重新组合成我的表面线。可能有更好、更稳定的方法,但这对我有用。谢谢!


你可以尝试这个方法,

  1. Find 轮廓和 approxPolyDP。 http://docs.opencv.org/doc/tutorials/imgproc/shapedescriptors/bounding_rects_circles/bounding_rects_circles.html

  2. 假设你有近似PolyDP点,如P1、P2、P3等......

  3. 现在计算连续线之间的角度,即线(P1,P2),线(P2,P3)等之间的角度。并检查每条调整线的角度差异,如果差异接近90度,你可以说有是一个角。

对于角度,您可以使用方程

double Angle = atan2(y2 - y1, x2 - x1) * 180.0 / CV_PI; 
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

opencv物体轮廓角点检测 的相关文章

随机推荐

  • 如何在 Django 中为(基于类的)通用对象列表创建过滤器表单?

    我正在使用 Django 1 3 的基于类的通用视图来显示图像列表 但我想添加一个过滤器 使用户能够缩小显示结果的范围 我目前的方法有效 但感觉很黑客 class ImageFilterForm ModelForm class Meta m
  • 如何:优化 Symfony 表单的性能?

    我有一个表单 它是我的 ajax 请求的瓶颈 order this gt getDoctrine gt getRepository AcmeMyBundle Order gt find id order order order new Or
  • 在 data.table 中添加具有条件的虚拟对象?

    抱歉问了这么长的问题 我会尽力明确我的目标 我想使用 update 方法在 data table 中添加虚拟对象 就像这已经在此链接中得到回答 https stackoverflow com questions 18881073 creat
  • 如何将字节字符串转换为int?

    如何在Python中将字节字符串转换为int 像这样说 y xcc xa6 xbb 我想出了一个聪明 愚蠢的方法 sum ord c lt lt i 8 for i c in enumerate y xcc xa6 xbb 1 我知道必须有
  • UIScrollView 中缩放核心图形

    当我使用 UIScrollView 中的 UIView 子类进行放大时 我想知道哪种方法是缩放 Core Graphics 绘图的最佳方法 目前 当我放大时 绘图变得有点模糊 我知道这是正确的功能 我只是想知道开发人员如何覆盖它以保持图像清
  • android:textColor 实际上不起作用

    I have an Edittext in my application I have set it s default color to black in the following manner in the XML android t
  • .o、.a 和 .so 文件之间有什么区别?

    I know o是目标文件 a是静态库和 so是动态库吗 它们的物理意义是什么 我什么时候可以使用一些 什么时候不能使用 a是一个 档案 尽管存档可以包含任何类型的文件 但在 GNU 工具链的上下文中 它是一个目标文件库 其他工具链 特别是
  • 将整数数组编码为唯一的 int

    我有固定数量的 int 数组 其形式为 a b c d e 例如 2 2 1 1 2 where a and b可以是 0 到 2 之间的整数 c and d可以是 0 或 1 并且e可以是 0 到 2 之间的整数 因此有 3 3 2 2
  • 如何在远程unix服务器上查看html文件?

    我目前在远程 unix 服务器上有一个 html 文件 我可以通过 ssh 连接到该服务器 我一直在使用 SFTP 不断地将其传输到本地计算机以在编辑后查看它 但我对此感到厌倦 Mac 用户获得存储在远程 unix 服务器中的 html 文
  • 如何在 Ubuntu 21.10 上安装 python 3.6?

    由于 Ubuntu 21 10 和通常的版本不再支持 python 3 6deadsnakes方法也行不通 它给出以下错误 E The repository http ppa launchpad net deadsnakes ppa ubu
  • 如何使用反射 (Java) 调用私有静态方法?

    我想调用一个私有静态方法 我有它的名字 我听说可以使用Java反射机制来完成 我该怎么做 EDIT 我在尝试调用该方法时遇到的一个问题是如何指定其参数的类型 我的方法接收一个参数 其类型是 Map 因此我不能做Map
  • 设计限制每个用户一次只能进行一个会话

    我的应用程序使用 Rails 3 0 4 和 Devise 1 1 7 我正在寻找一种方法来阻止用户共享帐户 因为该应用程序是基于订阅的服务 我已经寻找了一个多星期了 但我仍然不知道如何实施解决方案 我希望有人已经实施了解决方案并能为我指明
  • Spring/Hibernate 延迟加载需要帮助

    我知道这个问题已经讨论过很多次了 我只是不明白这是如何工作的或者我的错误在哪里 我认为给你一个简化的例子是向你展示我正在尝试做的事情以及我正在采取的假设的最佳方式 我有一个带有名称的产品类 该名称是一个惰性的 String 属性 My DA
  • JavaFX TextArea onChange 事件

    开发者们美好的一天 JavaFX 组件 TextArea 是否支持某些事件 例如 onTextChange 或类似事件 是的 我知道 keyPressed keyTyped 但是如果另一个 操作 在 TextArea 上发生更改 例如 tx
  • 将输入整数写入单元格

    我自己正在编写一个快速应用程序 第一个项目 但是我试图找到用于将输入字符串的结果写入 Excel 中的命名单元格的 VBA 代码 例如 输入框询问问题 您想将哪个工作编号添加到列表中 然后用户将输入参考编号 例如 FX1234356 然后
  • 找到方程的数学算法

    我刚刚在 math stackexchange 上发布了一个数学问题 但我会向这里的人们询问一个以编程方式递归的算法 问题 填入从 1 到 9 的空白数字 每个空白一次且仅一次 以完成方程 附加条件 1 Mathematic priorit
  • 使用jquery按需加载tinymce

    这是我的脚本 ajaxSetup async false getScript http www mydomain com dev js tinymce tiny mce js function tinyMCE init document b
  • 在亚马逊s3 boto存储桶中设置特定权限

    我有一个名为 ben bucket 的存储桶 该存储桶内有多个文件 我希望能够为每个文件 URL 设置权限 我不太确定 但我假设我是否想要存储桶内每个文件的 URL 我的网址会是这样吗 https ben bucket s3 amazona
  • PyMC3 中的简单动态模型

    我正在尝试在 PyMC3 中构建一个动态系统模型 以推断两个参数 该模型是流行病学中常用的基本SIR dS dt r0 g S I dI dt g I r S 1 其中 r0 和 g 是要推断的参数 到目前为止 我根本无法走得太远 我见过的
  • opencv物体轮廓角点检测

    I have images of a smelting cube forming into a droplet over time So far i extracted the contour of it but next i d need