#include #include "ocr.h" // 用于调用接口 using namespace std; string cardType(int); int main(int argc, char const *argv[]) { if (argc < 2) { cout << "用法: " << argv[0] << " 银行卡照片" << endl; return -1; // 返回 -1 表示程序异常退出 } string app_id = "35475147"; // 你的 App ID string api_key = "CSneGCoRs8zMD1F1PPnXyzPP"; // 你的 Api Key string secret_key = "wlKjVS2lE9xPFVV7G5EI3gYm7Zk3tnu1"; // 你的 Secret Key aip::Ocr client(app_id, api_key, secret_key); // 新建一个对象, 用于调用接口, 调用通用文字识别, 图片参数为本地图片 // cout << "ok" << endl; // 定义 json 格式的数据类型 Value, result 是 json 类型的 Value 类实例, 用于存储返回的结果 Json::Value result; string image; // 用于存储图片内容 // 加载本地的银行卡图片内容到 image 对象中, 用于调用银行卡识别 aip::get_file_content(argv[1], &image); // 客户端发送图片内容到百度服务器, 并返回结果到 result 对象中 result = client.bankcard(image, aip::null); int cardTypeNum = result["result"]["bank_card_type"].asInt(); // 卡类型判定 0:不能识别; 1: 借记卡; 2: 信用卡 cout << "识别到的银行卡信息如下: " << endl; cout << "发卡行: " << result["result"]["bank_name"].asString() << endl; cout << "卡号: " << result["result"]["bank_card_number"].asString() << endl; cout << "卡类型: " << cardType(cardTypeNum) << endl; return 0; } // 卡类型判定 0:不能识别; 1: 借记卡; 2: 信用卡 string cardType(int type) { switch (type) { case 0: return "不能识别"; case 1: return "借记卡"; case 2: return "信用卡"; } }