我对OpenCV比较陌生,我正在开发一个需要计算网格上对象数量的项目。网格是图像的背景,每个空间中都有一个对象,或者没有;我需要计算出现的数字,我真的不知道从哪里开始。我在这里和其他地方搜索过,但似乎无法找到我正在寻找的东西。我将来需要跟踪网格的空间编号,因此我最终还需要知道每个网格空间是占用还是空。我不是要求一个编码示例,但有没有人知道完成此任务的任何源或教程或类似的任务?谢谢你的帮助!
更多细节:图像将来自稳定安装的相机,物体形状相对均匀,但尺寸和颜色各异。
答案 0 :(得分:1)
我首先回答几个问题:
考虑到这些问题的合理答案,我认为问题可分为两部分:首先,确定每个网格空间的中心。要计算对象,您可以对该区域进行采样,以查看是否存在“非背景”。
然后,您可以假设网格空间由四个强大的,经常放置的角落特征定义。 (为了便于讨论,我假设您已经根据需要执行了初始图像准备:直方图均衡,降噪等高斯模糊等)从那里,您可以尝试一些OpenCV的方法来寻找角落(Harris角落)探测器,cvGoodFeaturesToTrack等)。您可以借用OpenCV的方形查找示例(samples / c / square.c)中的一些技术。对于这项任务,假设网格中心只是每组“相邻”(或足够近)角的质心就足够了。
或者,您可以使用Hough变换来识别图像中的主要水平和垂直线。然后,您可以确定交叉点以标识每个网格单元的范围。这种实现可能更具挑战性,因为从“附近”顶点推断结构(或邻接)以便找到网格中心似乎更加困难。