图像单主体检测
行业动态 | 2025-05-07 12:19 #include
// libcurl库下载链接:https://curl.haxx.se/download.html
// jsoncpp库下载链接:https://github.com/open-source-parsers/jsoncpp/
const static std::string request_url="https://aip.baidubce.com/rest/2.0/image-classify/v1/object_detect";
static std::string objectDetect_result;
static size_t callback(void *ptr, size_t size, size_t nmemb, void *stream) {
// 获取到的body存放在ptr中,先将其转换为string格式
objectDetect_result=std::string((char *) ptr, size * nmemb);
return size * nmemb;
}
int objectDetect(std::string &json_result, const std::string &access_token) {
std::string url=request_url + "?access_token=" + access_token;
CURL *curl=NULL;
CURLcode result_code;
int is_success;
curl=curl_easy_init();
if (curl) {
curl_easy_setopt(curl, CURLOPT_URL, url.data());
curl_easy_setopt(curl, CURLOPT_POST, 1);
curl_httppost *post=NULL;
curl_httppost *last=NULL;
curl_formadd(&post, &last, CURLFORM_COPYNAME, "image", CURLFORM_COPYCONTENTS, "【base64_img】", CURLFORM_END);
curl_formadd(&post, &last, CURLFORM_COPYNAME, "with_face", CURLFORM_COPYCONTENTS, "1", CURLFORM_END);
curl_easy_setopt(curl, CURLOPT_HTTPPOST, post);
curl_easy_setopt(curl, CURLOPT_WRITEFUNCTION, callback);
result_code=curl_easy_perform(curl);
if (result_code !=CURLE_OK) {
fprintf(stderr, "curl_easy_perform() failed: %s
",
curl_easy_strerror(result_code));
is_success=1;
return is_success;
}
json_result=objectDetect_result;
curl_easy_cleanup(curl);
is_success=0;
} else {
fprintf(stderr, "curl_easy_init() failed.");
is_success=1;
}
return is_success;
}`, `94860147977861960000`)"
>