Image processing 国际象棋棋盘模式识别推荐技术
我正在尝试做一个应用程序,它能够从截图中识别计算机屏幕上的国际象棋位置。我在图像处理技术方面的经验非常有限,我不想在这方面投入大量的时间,因为这只是我的一个宠物项目 有人能给我推荐一种或多种能给我带来好结果的图像处理技术吗 条件是:Image processing 国际象棋棋盘模式识别推荐技术,image-processing,image-recognition,chess,pattern-recognition,Image Processing,Image Recognition,Chess,Pattern Recognition,我正在尝试做一个应用程序,它能够从截图中识别计算机屏幕上的国际象棋位置。我在图像处理技术方面的经验非常有限,我不想在这方面投入大量的时间,因为这只是我的一个宠物项目 有人能给我推荐一种或多种能给我带来好结果的图像处理技术吗 条件是: 图像始终清晰、无噪音、光线条件差等(因为它是一张截图) 我希望在每秒处理1个图像时,对计算机性能的影响非常小 我想到了两种启动流程的模式: 将工件形状输入程序(以便它知道皇后、国王等的样子) 只需向程序提供一个包含启动位置的初始图像,程序可以(在识别棋盘位置后)
- 图像始终清晰、无噪音、光线条件差等(因为它是一张截图)
- 我希望在每秒处理1个图像时,对计算机性能的影响非常小
- 我想到了两种启动流程的模式:
- 将工件形状输入程序(以便它知道皇后、国王等的样子)
- 只需向程序提供一个包含启动位置的初始图像,程序可以(在识别棋盘位置后)从中拾取每个棋子
- 这个过程应该比较容易理解,因为我还没有很好地掌握图像处理技术
- 我对使用任何特定的技术都不感兴趣,因此技术无关的文档将是理想的(C/C++、C#、Java示例也可以)。
希望这能有所帮助。这是一个有趣的问题,但为了找到一个可接受的答案,您需要比原始问题详细说明更多内容 在输入图像上,“截图”是一个类别。你能假设棋盘永远都在眼前吗?同一块板子会有多个视图吗?您是否可以假设在所有视图中都不会部分或完全遮挡任何部分
在成像对象和捕获系统上:在非常相似的照明下,是否会使用相同的棋盘和棋子?会使用相同的镜头/摄像机/数字化管道吗?是的,与Salt Andrei一起使用
您好,首先,我假设棋盘会一直在眼前。只有一个2D视图,即浏览器/插件/应用程序呈现的视图,因为它是计算机生成的棋盘的屏幕截图。没有一块会被隐藏,而“捕获系统”是我的监视器截图,没有镜头/摄像机等等。如果这些图像不是自然图像,那么问题就大大简化了:它们可能有一组固定的小颜色,因此您可以轻松地将它们设置为黑白阈值。然后我要做的是一个接一个地“裁剪”和分析正方形,以明显的方式识别和丢弃空的正方形(它们的像素都是相同的),并根据已知的碎片形状进行一些简单的模板匹配。即使工件图像的内部没有提供任何信息,你也不需要识别边缘,因为2D形状本身具有足够的辨别力?你不只是在和国际象棋程序打交道有什么原因吗?这可能会容易得多。请参阅有关问题的参考资料,我也会这样做,因为您的对象看起来总是一样的。为每一个片段截图,硬编码模式(例如位图),然后进行简单的错误汇总。最小的错误获胜(理想情况下应该是0)。应该很容易(是的,黑白图像,最好没有共享是最容易的)。这不会起作用,因为你不知道作品的颜色。