gpt4 book ai didi

OpenCV检测背景困难的方 block

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

我正在开发一款可以识别 GO board 的 Android 应用程序并创建一个 SGF file

我需要检测整个板,以便扭曲它并能够找到正确的线条和石头,如下所示。

filledboard
(来源:eightytwo.axc.nl)

现在我使用 Opencv RGB Mat 并执行以下操作:

  • 分离 channel
  • 精通各个 channel

    Imgproc.Canny(channel, temp_canny, 30, 100);
  • 合并(按位或)所有 channel 。

    Core.bitwise_or(temp_canny, canny, canny);
  • 找到棋盘的轮廓

我仍然无法始终如一地检测到木板,因为一些线条往往会消失,如下图所示,木板上的黑线和石头清晰可见,但在某些地方缺少木板边缘。

filledboard
(来源:eightytwo.axc.nl)

我怎样才能改进这个检测?或者我应该实现多种方法来检测它并在失败时在它们之间切换..

* 牢记重要事项 *

  • 棋盘颜色各异
  • 围棋盘可以是空的,也可以完全填满棋子
    这意味着我不能依赖于检测电路板上的外部黑线
  • 背景并不总是纯白色

这是 pictures with go boards 的一个小集合我想检测

* 更新 * 23-05-2016

我有点用完了使用 opencv 来解决这个问题的灵感,所以非常感谢新的灵感!!!与此同时,我开始使用机器学习,初步结果很好,我会及时通知您,但仍然对创建 opencv 实现寄予厚望。

最佳答案

我正在处理同样的问题!

我的方法是假设两件事:

  1. 相机稳定
  2. 董事会稳定

这让我可以在棋盘仍为空时(播放前)从单帧中推断出变形参数。使用这些参数来扭曲每一帧,无论有多少石头挡住了棋盘边缘。

关于OpenCV检测背景困难的方 block ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36344166/

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