You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

类拼字游戏截图中15x15棋盘及玩家手牌区域的类方形方块检测优化请求

类拼字游戏截图中15x15棋盘及玩家手牌区域的类方形方块检测优化请求

我现在在做类拼字游戏截图的方块检测,目标是识别15x15棋盘区域和玩家手牌里那些略带椭圆的方块,但目前的代码漏检了不少空方块,还有大部分带字母的方块,想求优化思路。

先放原始的游戏截图:
原始游戏截图

这是我目前使用的检测代码:

import cv2
import numpy as np

image = cv2.imread(r'image_path')

gray = cv2.cvtColor(image, cv2.COLOR_BGR2GRAY)

blurred = cv2.GaussianBlur(gray, (5, 5), 0)

edges = cv2.Canny(blurred, 50, 150)

contours, _ = cv2.findContours(edges, cv2.RETR_EXTERNAL, cv2.CHAIN_APPROX_SIMPLE)

output_image = image.copy()

for contour in contours:
    epsilon = 0.02 * cv2.arcLength(contour, True)
    approx = cv2.approxPolyDP(contour, epsilon, True)
    
    if len(approx) == 4 and cv2.isContourConvex(approx):
        (x, y, w, h) = cv2.boundingRect(approx)
        
        aspect_ratio = float(w) / h
        if aspect_ratio > 0.8 and aspect_ratio < 1.2:
            cv2.drawContours(output_image, [approx], -1, (0, 255, 0), 3)

cv2.imshow('Detected Squares', output_image)
cv2.imwrite('processed_cleaned_image.png', output_image)
cv2.waitKey(0)
cv2.destroyAllWindows()

这是代码运行后的输出截图,能看到手牌里的两个字母方块没被检测出来,棋盘上的大部分方块也都漏检了:
检测结果输出图

补充几个已知的固定约束,或许能帮到优化:

  • 棋盘区域固定是15×15的方块布局
  • 玩家手牌区域一般是7个方块,只有游戏最后几轮数量会有变化

我之前还试过另一个方块检测的方案,但结果反而比现在的还差,所以现在卡在这里了,求大家给点改进建议。

备注:内容来源于stack exchange,提问作者eren

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.04.14 16:29:34