当前位置: 首页 > 知识库问答 >
问题:

我应该遵循哪些步骤来确定一杯任何液体的液面?

袁玮
2023-03-14

我对OpenCV Java还很陌生,我一直在寻找方法来完成标题所要求的内容。到目前为止,根据我的理解,第一步应该是使用像Sobel或Laplace这样的检测边缘滤波器。

从https://docs.opencv.org/3.4/d2/d2c/tutorial_sobel_diversities.html中,我得到以下结果:glass_sobel

从现在开始,我不知道下一步该怎么办...我该怎么做才能得到我想要的?谢谢你的帮助!

共有1个答案

陆啸
2023-03-14

采取垂直边缘差(索贝尔)确实是正确的一步。但首先我建议修正一些参数。例如,玻璃的位置、大小和形状是否固定?然后拍摄一张没有液体的图像,用它从结果推断出玻璃。如果不是,我将采取以下步骤:尝试增加边缘可见性。在您的图像中,您确实看到一个清晰的边缘,但计算机可能会看到这是4个边缘,因此,尝试确保边缘接近彼此被视为一个边缘(扩张操作可能会这样做)。根据液体的不同,您也可以从图像中提取某种颜色。水在这里是最不幸的情况,但像橙汁这样的东西很容易被检测出来。有了更清晰的边缘,我会试着从玻璃上得到一条垂直线,并对每个边缘进行分类(它是玻璃的一部分还是液体的一部分)。

 类似资料:
  • 我不明白使用LiquiBase回滚时的详细步骤。 我有一个场景,比如6个变更集,对于一个变更集,没有定义回滚--也就是说,变更集中只有。 总的来说,想知道Databasechangelog中的记录何时删除吗?

  • 创建N个数据库 为每个数据库创建数据库用户 为每个数据库运行liquibase迁移 远程服务器只能通过ssh访问,而liquibase不支持ssh隧道(据我所知),也没有用于liquibase的ansible模块。 在运行上述任务之前,似乎有一种奇怪的方法: 为mysql创建正向/反向通道, 创建N个数据库 为每个数据库创建数据库用户 为每个数据库运行liquibase迁移 杀死隧道。 但我不确定

  • 我有一个应用程序,它使用hibernate使用注释创建初始数据库。 有人这样做过吗,如果有请告诉我怎么做。或者至少是另一种选择。是否所有的ORM更新都必须用sql脚本手动创建?

  • 我们计划使用液基作为我们的数据库脚本自动化工具,用于维护和应用 ddl 和 dml。 是否有任何库可以读取liquibase配置中定义的ddl并生成jpa实体java类?

  • 本文向大家介绍emacs 缓冲液,包括了emacs 缓冲液的使用技巧和注意事项,需要的朋友参考一下 示例 缓冲区列表示例 一行的第一个字段指示: '。' 缓冲区是当前的。 '%'只读缓冲区。 '*'缓冲区被修改。 选择缓冲区。您可以使用以下键盘绑定选择任何打开的缓冲区: C-x b 系统将提示您输入要切换到的缓冲区名称。 列表缓冲区: C-x C-b Save-some-buffer,选择要保存还

  • 我对LibGDX和OpenGL相当陌生,但我设法使用Box2D api做了一个简单的液体模拟。看到这个链接(这是别人的动画): 物理液体