gpt4 book ai didi

opencv - 如何成功数片?

转载 作者:太空宇宙 更新时间:2023-11-03 23:07:58 24 4
gpt4 key购买 nike

我最后一个关于图像识别的问题似乎太宽泛了,所以我想问一个更具体的问题。

首先是背景。我已经开发了一个(圆形)药丸计数器。它使用类似于 this tutorial 的东西.完成后,我还发现了与 this other tutorial 类似的东西.

但是我的方法对于像这张图片这样的东西失败了

The original problem

虽然分割过程有点复杂(因为平板的半透明)我还是搞定了

segmented image

我的问题就在这里。我如何计算细长的平板电脑,将每个平板电脑与图像分开,类似于链接教程中的最终结果?

到目前为止,我应用了距离变换,然后应用了我自己的分水岭版本,我得到了

bad results

如您所见,它在相邻的平板电脑上失败了(距离变换通常会失败)。

考虑到解决方案必须适用于此图像以及平板电脑的其他布置,例如最困难的是

difficult case

我愿意使用 OpenCV 或在必要时使用我自己的算法。到目前为止,我都尝试过(使用 OpenCV 函数,也编写了我自己的库)我也愿意使用 C++、python 或其他。 (我用 C++ 编写了它们,我也在 C# 上完成了)。

最佳答案

我也在研究这个药丸计数问题(我在这个过程中比你早得多),为了解决你正在研究的问题——触摸药丸,我的一般想法是如何解决这个问题一旦你有了一个好的药丸掩膜,就可以绘制药丸的轮廓,然后计算单个药丸的面积。

对于这种方法,我假设图像中有足够多的药片,因此未接触的药片数量多于接触的药片数量,并且没有药片相互重叠。对于我的应用程序,我认为设置此限制是合理的(人们可以快速查看他们倒出的药丸,并且至少可以粗略地使它们不接触而无需太多工作。我也可以设计一个托盘里面有一些凹坑,这样它就会迫使药丸不接触)

我通过对轮廓区域进行排序(使用正确的阈值应该导致只有药丸和药丸组在识别的轮廓中)并取中值来做到这一点。

然后,利用药丸面积的良好值,您可以寻找面积是该中值面积的倍数(+/- 一些百分比误差值)的轮廓。我还使用该中值来过滤掉明显不够大而不能成为药丸的轮廓,以及那些太大而不能成为药丸的轮廓(尽管后者可能更麻烦,因为它仍然可能是一组接触药丸).

关于opencv - 如何成功数片?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55330370/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com