我必须检测一个国际象棋棋盘,如图所示:
我将这个图像划分为64个子图像,这些子图像代表黑白棋方格,如:
如何检查这些子图像(每个方块)是否包含棋子?
答案 0 :(得分:2)
首先,您需要优化方块检测,因为黑色中有一些白色区域,反之亦然。为了快速完成这项工作,您可以在广场中心裁剪较小的投资回报率,假设大部分投资都在中心位置。
对于实际检测,有各种简单的选项,我想在你的情况下可以完美地工作。不需要进行复杂的特征检测和机器学习。
选项:
无论哪种方式,都会有一些噪音,所以你必须稍微玩一下才能找到最佳的阈值/参数。 大多数情况下,做一些预处理模糊以获得更平滑的结果也更好。
答案 1 :(得分:0)
您需要考虑很多事情:
有必要有国际象棋的观点吗?顶级透视图可以帮助您简化过程,通过这样做可以避免在其他方块中侵入任何一块。
然后你可以通过查看它的直方图来检查方块中是否有一张国际象棋。如果方块没有一块,你可以欣赏曲线中的一个峰值,如果该方块中有一块,你会欣赏到不止一个峰值。您可以使用直方图中的阈值来查找是否存在单个峰(通过查找直方图中的最大点)