MiraiForum

    • Register
    • Login
    • Search
    • Popular
    • Recent
    • Unsolved
    • Tags
    • Groups
    • 友情链接

    通过表情涂鸦玩井字棋的插件

    插件发布
    csharp http mirai-csharp
    2
    6
    849
    Loading More Posts
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes
    Reply
    • Reply as topic
    Log in to reply
    This topic has been deleted. Only users with topic management privileges can see it.
    • Alex1911
      Alex1911 last edited by

      先看看效果
      1.jpg
      2.jpg
      3.jpg
      4.jpg
      5.jpg
      设置.jpg
      帮助.jpg
      我自己的版本集成到了我 上一篇主题帖 里
      但功能是独立的, 有需要单独抽出去用的大佬可以直接扒源码的 GreenOnions.TicTacToe 文件夹

      顺便说下判定逻辑吧, 每个格子100*100像素, 只要涂鸦的格子里超过300个像素不是白色就判定为在那个格子下子, 所以不管画什么图案都行, 而且稍微画出去一点是不怕的, 还有对于手机端压图和尺寸改变了的问题也有比较好的容差

      1 Reply Last reply Reply Quote 2
      • RainChan
        RainChan 摸鱼 last edited by

        想知道是怎么识别叉的,不会是扫描像素吧

        Alex1911 1 Reply Last reply Reply Quote 0
        • Alex1911
          Alex1911 @RainChan last edited by Alex1911

          @RainChan OpenCV, 两张图相减后转灰度然后除以100就求出了每个格命中的次数, 再过滤掉一下数量低于100的, 画的什么形状都可以, 只要不是白色就能识别

          1 Reply Last reply Reply Quote 0
          • RainChan
            RainChan 摸鱼 last edited by

            感觉这样得带一个很大的opencv依赖进去,可能有更轻量级的办法

            Alex1911 1 Reply Last reply Reply Quote 0
            • Alex1911
              Alex1911 @RainChan last edited by

              @RainChan 尝试过不用OpenCV, 自己扫像素, 效率低还是次要的, 主要是手机端涂鸦后图片尺寸会变, 重绘之后上一步的图形和格子线都有偏移, 相减完会有很多错误的结果, 自己要处理的情况太多了
              其实如果用C++来重写一次的话可以只挑OpenCV需要用到的库引用, 相对会轻量一些

              RainChan 1 Reply Last reply Reply Quote 0
              • RainChan
                RainChan 摸鱼 @Alex1911 last edited by

                @Alex1911 原来如此

                1 Reply Last reply Reply Quote 0
                • 1 / 1
                • First post
                  Last post
                Powered by Mamoe Technologies & NodeBB | 友情链接 | 服务监控 | Contact