如何成功数数平板电脑?

时间:2019-03-25 01:53:22

标签: opencv image-processing

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

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

但是我的方法针对此图像失败

The original problem

尽管分割过程有点复杂(由于平板电脑的半透明性),我还是设法做到了

segmented image

我的问题在这里。如何计算拉长的药片,将每个药片与图像分开,类似于链接教程中的最终结果?

如果有人可以帮助我找到解决方案,我将不胜感激。

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

bad results

如您所见,它在相邻的数位板中失败了(距离转换通常会失败)。

请注意,该解决方案确实必须适用于此图像以及平板电脑的其他布置,例如,最困难的是

difficult case

我愿意使用OpenCV或在必要时根据自己的算法实施。到目前为止,我都尝试了这两种方法(使用了OpenCV函数,还编写了自己的库),我也可以使用C ++,python或其他工具。 (我个人是用C ++编写的,我也已经在C#上完成了

再次感谢您的帮助。

1 个答案:

答案 0 :(得分:0)

鉴于这些药丸都是相同的并且不会重叠,只需将药丸总面积除以单个药丸的面积即可。

仅计算“药丸”像素的数量即可估算出面积。

您确实需要通过给定单个药丸的面积来校准该方法。可以通过为其中一张图像提供正确的解决方案(手动计数)来轻松获得此信息,然后可以自动对所有其他图像进行计数。