1 /*
2  * Copyright (C) 2021-2023 Alibaba Group Holding Limited
3  */
4 
5 #include <stdio.h>
6 #include <string.h>
7 #include <ulog/ulog.h>
8 #include "ucloud_ai_common.h"
9 
10 #define TAG "UCLOUD_AI_FACEBODY"
11 
ucloud_ai_facebody_comparing_face(char * path,char * myface,ucloud_ai_cb_t cb)12 void ucloud_ai_facebody_comparing_face(char *path, char *myface, ucloud_ai_cb_t cb)
13 {
14     int len;
15     char *p_upload_url = NULL;
16     char *p_myface_url = NULL;
17 
18     /*update capture.jpg to oss*/
19     p_upload_url = ucloud_ai_upload_file(path);
20     if (!p_upload_url)
21         return;
22 
23     if (myface) {
24         if (strstr(myface, "https")) {
25             LOGE(TAG, "ucloud ai engine doesn't not support https right now\n");
26             return;
27         }
28         if (strstr(myface, "http")) {
29             p_myface_url = myface;
30         } else {
31             /*my face picture*/
32             p_myface_url = ucloud_ai_upload_file(myface);
33             if (!p_myface_url)
34                 return;
35         }
36     }
37     /*do facebody detection*/
38     compareFace(p_upload_url, p_myface_url, cb);
39     free(p_upload_url);
40 }
41 
ucloud_ai_facebody_recognize_expression(char * path,ucloud_ai_cb_t cb)42 void ucloud_ai_facebody_recognize_expression(char *path, ucloud_ai_cb_t cb)
43 {
44     int ret;
45     int len;
46     char *p_upload_url;
47 
48     /*update capture.jpg to oss*/
49     p_upload_url = ucloud_ai_upload_file(path);
50     if (!p_upload_url)
51         return;
52 
53     recognizeExpression(p_upload_url, cb);
54     free(p_upload_url);
55 }
56 
ucloud_ai_facebody_generate_human_anime_style(char * path,ucloud_ai_cb_t cb)57 void ucloud_ai_facebody_generate_human_anime_style(char *path, ucloud_ai_cb_t cb)
58 {
59     int ret;
60     int len;
61     char *p_upload_url;
62 
63     /*update capture.jpg to oss*/
64     p_upload_url = ucloud_ai_upload_file(path);
65     if (!p_upload_url)
66         return;
67 
68     /*do generating human anime style, and get image url*/
69     generateHumanAnimeStyle(p_upload_url, cb);
70     free(p_upload_url);
71 }
72