准备工作
1)登录网站:人像动漫化-百度AI开放平台 。登录百度AI平台。
图1 登录百度AI平台
2)创建应用,领取免费次数。
图2 创建应用
图3 领取免费次数
3)复制AppID、API Key、Secret Key,调用接口的密钥。
图4 获取密钥
4)下载SDK,我用的C++,所以我只介绍C++的相关使用。
图5 SDK下载
图6 选择C++SDK
图6 选择C++SDK
5)VS创建项目,包含SDK路径。
图7 包含SDK路径
6)项目配置OpenSSL库,详情见:
Windows下配置OpenSSL(傻瓜式教程,一看就会)_翟天保的博客-CSDN博客
7)项目配置libcurl库,详情见:
Windows下用vs2017编译和配置libcurl库(手把手教,适合新人)_翟天保的博客-CSDN博客
8)项目配置JsonCpp库,详情见:
Windows下用CMake编译JsonCpp及配置(适合新手)_翟天保的博客-CSDN博客
9)配置好环境,开始测试,见下方代码。C++比其其他语言确实是麻烦的多。。。
C++测试代码
#include <iostream> #include <curl/curl.h> #include <image_process.h> #include <opencv2/opencv.hpp> #include <json/json.h> using namespace std; using namespace cv; int main() { std::string app_id = "XXXXX";//id std::string api_key = "XXXXXXX";//api_key std::string secret_key = "XXXXXXXXX";//secret_key // 图像处理接口 aip::Imageprocess client(app_id, api_key, secret_key); // 选择图片 Json::Value result;; std::string image; aip::get_file_content("test2.jpg", &image); // 参数设置 std::map<std::string, std::string> options; options["type"] = "anime_mask"; options["mask_id"] = "3"; // 人像动漫化函数 result = client.selfieanime(image, options); // 获取结果 std::string res = result["image"].asString(); std::string result_dec; result_dec = aip::base64_decode(res); std::vector<char> base64_img(result_dec.begin(), result_dec.end()); cv::Mat img_decode = cv::imdecode(base64_img, IMREAD_COLOR); cv::Mat mask = img_decode * 255; // 保存图像 cv::imwrite("nresult.jpg", img_decode); cv::imwrite("nresultm.jpg", mask); return 0; }
测试效果
人像动漫化的API文档:
https://cloud.baidu.com/doc/IMAGEPROCESS/s/Mk4i6olx5
如果函数有什么可以改进完善的地方,非常欢迎大家指出,一同进步何乐而不为呢~
如果文章帮助到你了,可以点个赞让我知道,我会很快乐~加油!