MiraiForum

    • 注册
    • 登录
    • 搜索
    • 热门
    • 最新
    • 未解决
    • 标签
    • 群组
    • 友情链接

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

    插件发布
    csharp http mirai-csharp
    2
    6
    1464
    正在加载更多帖子
    • 从旧到新
    • 从新到旧
    • 最多赞同
    回复
    • 在新帖中回复
    登录后回复
    此主题已被删除。只有拥有主题管理权限的用户可以查看。
    • Alex1911
      Alex1911 最后由 编辑

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

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

      1 条回复 最后回复 回复 引用 2
      • RainChan
        RainChan 摸鱼 最后由 编辑

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

        Alex1911 1 条回复 最后回复 回复 引用 0
        • Alex1911
          Alex1911 @RainChan 最后由 Alex1911 编辑

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

          1 条回复 最后回复 回复 引用 0
          • RainChan
            RainChan 摸鱼 最后由 编辑

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

            Alex1911 1 条回复 最后回复 回复 引用 0
            • Alex1911
              Alex1911 @RainChan 最后由 编辑

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

              RainChan 1 条回复 最后回复 回复 引用 0
              • RainChan
                RainChan 摸鱼 @Alex1911 最后由 编辑

                @Alex1911 原来如此

                1 条回复 最后回复 回复 引用 0
                • 1 / 1
                • First post
                  Last post
                Powered by Mamoe Technologies & NodeBB | 友情链接 | 服务监控 | Contact