2026 扑克牌识别 API 实战:识别牌值、花色、大小王(附 Python/Java/PHP 接入示例)

前言

随着 AI 视觉技术的发展,扑克牌识别已经广泛应用于:

  • 棋牌AI机器人
  • 棋牌游戏直播分析
  • 自动发牌设备
  • 棋牌游戏裁判系统
  • 棋牌游戏数据统计
  • 娱乐互动应用
  • 智能桌游终端
  • AI视觉识别项目

相比传统模板匹配算法,如今基于深度学习的扑克牌识别 API 不仅识别速度更快,而且能够适应不同角度、光照和复杂背景。

本文将介绍如何通过扑克牌识别 API,实现牌值、花色、大小王识别,并返回检测框坐标、类别编码及识别置信度,同时提供 Python、Java、PHP 多语言调用示例。


什么是扑克牌识别 API?

扑克牌识别 API 是一种基于计算机视觉和目标检测技术的接口,可自动识别图片中的扑克牌信息,并返回结构化数据。

支持识别:

牌值

  • A
  • 2~10
  • J
  • Q
  • K
  • 小王
  • 大王

花色

  • 黑桃(♠)
  • 红桃(♥)
  • 梅花(♣)
  • 方块(♦)

一次图片可同时识别多张扑克牌。

石榴智能扑克识别OCR:

  • 支持免费在线体验,注册API账号送免费测试积分
  • API文档清晰,提供多种接入语言示例(如python、js、C#、java、php等),以及自动化脚本语言(如天诺、懒人精灵、按键精灵、易语言、EasyClick、触动精灵等)

免费在线体验:https://market.shiliuai.com/tools/poker-recognition

API文档完整开发文档和代码示例:https://market.shiliuai.com/doc/poker-recognition-ocr


返回哪些识别结果?

接口通常返回以下信息:

  • 扑克牌牌值
  • 花色
  • 类别编码
  • 检测坐标(Bounding Box)
  • 识别置信度
  • 检测数量

示例返回:

复制代码
{
  "code":200,
  "data":[
    {
      "card":"A",
      "suit":"Spade",
      "class_id":1,
      "confidence":0.998,
      "bbox":[120,85,245,280]
    },
    {
      "card":"10",
      "suit":"Heart",
      "class_id":24,
      "confidence":0.996,
      "bbox":[320,90,445,286]
    }
  ]
}

API 能解决哪些场景?

棋牌游戏直播分析

实时识别桌面扑克牌,实现牌局数据统计。

棋牌AI训练

自动获取牌面信息,辅助 AI 模型训练。

自动发牌设备

识别发出的牌是否正确,提高设备稳定性。

棋牌游戏监管

识别桌面牌面信息,实现自动记录。

图像数据标注

自动生成扑克牌检测数据,提高标注效率。


API 的主要特点

支持:

  • A~K 全牌值识别
  • 大王、小王识别
  • 黑桃、红桃、梅花、方块识别
  • 多张扑克同时检测
  • 返回坐标信息
  • 返回类别编码
  • 返回识别置信度
  • 支持旋转扑克识别
  • 支持复杂背景识别
  • 支持高清图片识别

Python 调用示例

python 复制代码
# ==============================================================================
# 免费在线体验:https://market.shiliuai.com/tools/poker-recognition
# API文档完整开发文档和代码示例:https://market.shiliuai.com/doc/poker-recognition-ocr
# 支持免费在线体验
# API文档清晰,提供多种接入语言示例(如python、js、C#、java、php等),以及自动化脚本语言(如天诺、懒人精灵、按键精灵、易语言、EasyClick、触动精灵等)
#
# ----- 配置信息 -----
# 从石榴智能API市场获取API_KEY或SECRET_KEY:https://market.shiliuai.com/
# ==============================================================================

# -*- coding: utf-8 -*-
import requests
import base64
import json

# 请求接口
URL = "https://ocr-api.shiliuai.com/api/game_ocr/v1"

# 图片转base64
def get_base64(file_path):
    with open(file_path, 'rb') as f:
        data = f.read()
    b64 = base64.b64encode(data).decode('utf8')
    return b64

def demo(appcode, file_path):
    # 请求头
    headers = {
        'Authorization': 'APPCODE %s' % appcode,
        'Content-Type': 'application/json'
    }

    # 请求体
    b64 = get_base64(file_path)
    data = {"image_base64": b64}

    # 请求
    response = requests.post(url=URL, headers=headers, json=data)
    content = json.loads(response.content)
    print(content)

if __name__=="__main__":
    appcode = "你的APPCODE"
    file_path = "本地图片路径"
    demo(appcode, file_path)

Java 调用示例

java 复制代码
// ==============================================================================
// 免费在线体验:https://market.shiliuai.com/tools/poker-recognition
// API文档完整开发文档和代码示例:https://market.shiliuai.com/doc/poker-recognition-ocr
// 支持免费在线体验
// API文档清晰,提供多种接入语言示例(如python、js、C#、java、php等),以及自动化脚本语言(如天诺、懒人精灵、按键精灵、易语言、EasyClick、触动精灵等)
//
// ----- 配置信息 -----
// 从石榴智能API市场获取API_KEY或SECRET_KEY:https://market.shiliuai.com/
// ==============================================================================

//main.java
import com.alibaba.fastjson2.JSON;
import com.alibaba.fastjson2.JSONObject;
import org.apache.http.HttpResponse;
import org.apache.http.client.methods.HttpPost;
import org.apache.http.entity.StringEntity;
import org.apache.http.impl.client.CloseableHttpClient;
import org.apache.http.impl.client.HttpClients;
import org.apache.http.util.EntityUtils;
import org.apache.commons.io.FileUtils;
import java.io.File;
import java.io.IOException;
import java.util.HashMap;
import java.util.Map;
import java.util.Base64;

public class Main {
    public static String get_base64(String path) {
        String b64 = "";
        try {
            // 使用Commons IO简化文件读取
            byte[] content = FileUtils.readFileToByteArray(new File(path));
            // 使用JDK自带的Base64
            b64 = Base64.getEncoder().encodeToString(content);
        } catch (IOException e) {
            e.printStackTrace();
        }
        return b64;
    }

    public static void main(String[] args) {
        String url = "https://ocr-api.shiliuai.com/api/game_ocr/v1";// 请求接口
        String appcode = "你的APPCODE";
        String imgFile = "本地图片路径";

        Map headers = new HashMap<>();
        headers.put("Authorization", "APPCODE " + appcode);
        headers.put("Content-Type", "application/json");

        // 请求体
        JSONObject requestObj = new JSONObject();
        requestObj.put("image_base64", get_base64(imgFile));
        String bodys = requestObj.toString();

        try (CloseableHttpClient httpClient = HttpClients.createDefault()) {
            // 创建POST请求
            HttpPost httpPost = new HttpPost(url);

            // 设置请求头
            for (Map.Entry entry : headers.entrySet()) {
                httpPost.addHeader(entry.getKey(), entry.getValue());
            }

            // 设置请求体
            StringEntity entity = new StringEntity(bodys, "UTF-8");
            httpPost.setEntity(entity);

            // 执行请求
            HttpResponse response = httpClient.execute(httpPost);
            int stat = response.getStatusLine().getStatusCode();
            if (stat != 200) {
                System.out.println("Http code: " + stat);
                return;
            }
            String res = EntityUtils.toString(response.getEntity());
            JSONObject res_obj = JSON.parseObject(res);
            System.out.println(res_obj.toJSONString());
        } catch (Exception e) {
            e.printStackTrace();
        }
    }
}

PHP 调用示例

php 复制代码
// ==============================================================================
// 免费在线体验:https://market.shiliuai.com/tools/poker-recognition
// API文档完整开发文档和代码示例:https://market.shiliuai.com/doc/poker-recognition-ocr
// 支持免费在线体验
// API文档清晰,提供多种接入语言示例(如python、js、C#、java、php等),以及自动化脚本语言(如天诺、懒人精灵、按键精灵、易语言、EasyClick、触动精灵等)
//
// ----- 配置信息 -----
// 从石榴智能API市场获取API_KEY或SECRET_KEY:https://market.shiliuai.com/
// ==============================================================================

//图片转base64
function get_base64($path){
    if($fp = fopen($path, "rb", 0)) {
        $binary = fread($fp, filesize($path));// 文件读取
        fclose($fp);
        $b64 = base64_encode($binary);// 转base64
    }else{
        $b64="";
        printf("%s 文件不存在", $path);
    }
    return $b64;
}

$url = "https://ocr-api.shiliuai.com/api/game_ocr/v1";
$appcode = "你的appcode";
$img_path = "图片路径";
$method = "POST";

//请求头
$headers = array();
array_push($headers, "Authorization:APPCODE " . $appcode);
array_push($headers, "Content-Type:application/json");

//请求体
$b64 = get_base64($img_path);
$data = array(
    "image_base64" => $b64
);
$post_data = json_encode($data);

//请求
$curl = curl_init();
curl_setopt($curl, CURLOPT_CUSTOMREQUEST, $method);
curl_setopt($curl, CURLOPT_URL, $url);
curl_setopt($curl, CURLOPT_HTTPHEADER, $headers);
curl_setopt($curl, CURLOPT_FAILONERROR, false);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);
curl_setopt($curl, CURLOPT_HEADER, true);
curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($curl, CURLOPT_SSL_VERIFYHOST, false);
curl_setopt($curl, CURLOPT_POSTFIELDS, $post_data);

$result = curl_exec($curl);
var_dump($result);

如何提高识别准确率?

建议上传:

  • 图片清晰
  • 保持扑克牌完整
  • 避免严重反光
  • 避免遮挡牌角
  • 保持适当光照

如果图片存在模糊、噪点或压缩严重等问题,可先使用 AI 图片增强接口进行预处理,再进行扑克牌识别,可进一步提升识别效果。


为什么推荐石榴智能?

如果需要快速集成 AI 视觉能力,石榴智能提供完整的图像识别 API 与图片处理能力。

  • 支持免费在线体验,注册API账号送免费测试积分
  • API文档清晰,提供多种接入语言示例(如python、js、C#、java、php等),以及自动化脚本语言(如天诺、懒人精灵、按键精灵、易语言、EasyClick、触动精灵等)

主要优势包括:

  • 支持扑克牌识别、OCR、目标检测等多种视觉能力
  • 支持识别牌值 A、2-10、J、Q、K 以及大小王
  • 支持识别黑桃、红桃、梅花、方块四种花色
  • 返回检测坐标、类别编码和识别置信度,方便二次开发
  • 提供在线工具,可免费体验识别效果
  • 提供完整 API 文档及示例代码
  • 支持 Python、Java、PHP、JavaScript、C#、易语言、按键精灵、懒人精灵、天诺、触动精灵、EasyClick 等多种开发语言和自动化脚本
  • 同时提供 OCR、智能抠图、图片去水印、图片变清晰、证件照制作等 AI 能力,方便构建完整的视觉处理流程

对于需要快速落地 AI 识别项目的开发者和企业来说,可以有效降低开发成本和接入难度。


总结

扑克牌识别 API 已广泛应用于棋牌 AI、智能设备、视觉检测、直播分析和自动化系统等场景。

相比传统算法,AI 模型具备更高的识别准确率、更强的环境适应能力以及更好的扩展性。

如果项目需要识别扑克牌牌值、花色,并获取检测坐标和置信度,直接接入成熟 API 通常比自行训练模型更高效,也能缩短开发周期。


推荐阅读

《OCR API 接口怎么调用?2026 从0到1完整接入指南(Python/Java/PHP/C#)》

《OCR 在线识别 + API 接口实战:从网页验证到系统集成》

《2026 图文识别与图片处理技术选型全攻略:OCR API vs 在线工具 vs 本地部署怎么选?》

《图片变清晰 API 实战:模糊图片一键变高清(附 Python / Java / PHP 完整代码)》

《【组合实战】OCR + 图片去水印 API:自动清洗图片再识别文字(完整方案 + 代码示例)》

《2026 图片高清化 API 实战:AI 超分辨率重建技术详解 + Python/Java/PHP/C# 代码示例》

《2026 最好用的图片处理工具推荐(去水印/抠图/高清化)》

相关推荐
szwyyx21 小时前
目前知名的BEL电源分销商哪家性价比高
人工智能·python
华如锦21 小时前
【AGENT开发】python学习 Python Level 5
python·学习·elasticsearch
忘路之远近i21 小时前
Selenium + 自研小型 Agent:用脚本加简易agent搭建简单数据工作流
人工智能·python
乐启国际旅行社有限公司1 天前
SpringSecurity+JWT实现文旅系统细粒度数据权限管控(多角色数据隔离)
开发语言·python
红莲凪是1 天前
使用二次封装的Excel COM 组件操作Excel\WPS ET IExcelRange 高级应用
python·excel·wps
AI人工智能集结号1 天前
AI回答采集数据清洗:Python实现空回答、拒绝与无关样本识别
开发语言·人工智能·python
依晨照旧1 天前
uv 常用命令速查:一个工具干掉 pip + venv + pyenv + pipx + poetry,Python 工具链从此清爽
python
渣男教父1 天前
Python自动化操作 Word 和 PDF
后端·python
IPdodo_1 天前
Python 接入代理IP:爬虫网络优化实战
爬虫·python·网络代理·代理ip·ipdodo
kisloy1 天前
【爬虫入门第9讲】Python爬虫浏览器自动化
爬虫·python·自动化