当前位置:   article > 正文

c++调用百度AI OCR SDK_百度ocr人脸识别 c++

百度ocr人脸识别 c++

C++ POST请求调用百度AI OCR

一、需求

百度AI OCR:https://cloud.baidu.com/doc/OCR/s/2kibizy58

1.在官方网站下载C++ SDK压缩包。

2.将下载的aip-cpp-sdk-version.zip解压, 其中文件为包含实现代码的头文件。

3.安装依赖库libcurl(需要支持https,) openssljsoncpp(>1.6.2版本,0.x版本将不被支持)。

二、案例

  openssl编译很麻烦的,可以直接在网上找编译好的。下面提供我编译好的案例。

c++调用百度AI OCR案例:

https://download.csdn.net/download/greless/16635738

注意:秘钥自己改成你自己的秘钥

 // 设置APPID/AK/SK

    std::string app_id = "你的 App ID";

    std::string api_key = "你的 Api key";

    std::string secret_key = "你的 Secret Key";

 

  1. // BaiduAI_OCR.cpp : 此文件包含 "main" 函数。程序执行将在此处开始并结束。
  2. //
  3. #include <iostream>
  4. #include <string>
  5. using namespace std;
  6. #include "ocr.h"
  7. #pragma comment(lib,"jsoncpp.lib")
  8. #pragma comment(lib,"libcurl.lib")
  9. #pragma comment(lib,"libeay32.lib")
  10. wchar_t *utf_8ToUnicode(const char *u8s)
  11. {
  12. int wcsLen = MultiByteToWideChar(CP_UTF8, NULL, u8s, strlen(u8s), NULL, NULL);
  13. wchar_t *wcString = new wchar_t[wcsLen + 1];
  14. MultiByteToWideChar(CP_UTF8, NULL, u8s, strlen(u8s), wcString, wcsLen);
  15. wcString[wcsLen] = '\0';
  16. return wcString;
  17. }
  18. char *unicodeToAnsi(wchar_t *wcString)
  19. {
  20. int len = WideCharToMultiByte(CP_ACP, NULL, wcString, -1, NULL, NULL, NULL, NULL);
  21. char *str = new char[len];
  22. WideCharToMultiByte(CP_ACP, NULL, wcString, -1, str, len, NULL, NULL);
  23. return str;
  24. }
  25. int main()
  26. {
  27. // 设置APPID/AK/SK
  28. std::string app_id = "你的 App ID";
  29. std::string api_key = "你的 Api key";
  30. std::string secret_key = "你的 Secret Key";
  31. aip::Ocr client(app_id, api_key, secret_key);
  32. Json::Value result;
  33. std::string image;
  34. aip::get_file_content("ocr.jpg", &image);
  35. // 调用通用文字识别, 图片参数为本地图片
  36. result = client.general_basic(image, aip::null);
  37. std::cout << result << std::endl;
  38. Json::Value res = result["words_result"];
  39. std::string str;
  40. for (int i = 0; i < res.size(); i++)
  41. str.append(res[i]["words"].asString());
  42. //返回文字
  43. std::cout << "返回识别文字:"<<unicodeToAnsi(utf_8ToUnicode(str.c_str())) << std::endl;
  44. getchar();
  45. }

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/盐析白兔/article/detail/441703
推荐阅读
相关标签
  

闽ICP备14008679号