Video Analysis底层库拆分,sdk的go封装
chenshijun
2020-09-09 0541661d3e4a063d4e68b33e4d6dbb71d3b58638
csdk.cpp
@@ -73,6 +73,41 @@
    return face_compare(feat1, feat2);
}
// quality
int c_api_face_quality_init(const int tm){
    return init_face_quality(tm, dtors_);
}
void c_api_set_quality_params(const int min, const int max){
    return set_quality_params(min, max);
}
cThfqResult* c_api_face_check_quality(const cFacePos *pos, uchar*data, const int w, const int h, const int channel){
    const cIMAGE img{data, w, h, 3};
    return face_check_quality(channel, &img, *pos);
}
int c_api_face_check_quality_brightness(const cFacePos *pos, uchar*data, const int w, const int h, const int channel, int *nBrightness){
    const cIMAGE img{data, w, h, 3};
    return face_check_quality_brightness(channel, &img, *pos, nBrightness);
}
int c_api_face_check_quality_occlusion(const cFacePos *pos, uchar*data, const int w, const int h, const int channel, int *nOcclusion){
    const cIMAGE img{data, w, h, 3};
    return face_check_quality_occlusion(channel, &img, *pos, nOcclusion);
}
int c_api_face_check_quality_hat(const cFacePos *pos, uchar*data, const int w, const int h, const int channel, int *nHat){
    const cIMAGE img{data, w, h, 3};
    return face_check_quality_hat(channel, &img, *pos, nHat);
}
int c_api_face_check_quality_blur_glass(const cFacePos *pos, uchar*data, const int w, const int h,
                                        const int channel, int* nBlur,int* nGlasses){
    const cIMAGE img{data, w, h, 3};
    return face_check_quality_blur_glass(channel, &img, *pos, nBlur, nGlasses);
}
cRECT* c_api_face_track_only(int *fCount, uchar *data, const int wid, const int hei, const int channel){
    const cIMAGE img{data, wid, hei, 3};
@@ -100,4 +135,46 @@
const char* c_api_yolo_obj_name(const int typ){
    return yolo_obj_name_by_type(typ);
}
// plateid api
int c_api_plate_id_init(const cPlateIDCfg *config, char *soPath) {
    return init_plate_id_detector(config, soPath);
}
cPlateIDResult* c_api_plate_id_detect(int *plateIDCount, uchar *data, const int w, const int h, const cRECT *rcDetect) {
    const cIMAGE img{data, w, h, 3};
    return plate_id_detect(plateIDCount, &img, rcDetect);
}
int c_api_plate_id_free() {
    return uninit_plate_id_detector();
}
// plateid cloud sdk api
int c_api_plate_id_cloud_init(const cPlateIDCloudSDKCfg *config, char *soPath, char *modelPath) {
    return init_plate_id_cloud_sdk_detector(config, soPath, modelPath);
}
cPlateIDCloudSDKResult* c_api_plate_id_cloud_detect(int *plateIDCount, uchar *data, const int w, const int h, const cRECT *rcDetect) {
    const cIMAGE img{data, w, h, 3};
    return plate_id_cloud_sdk_detect(plateIDCount, &img, rcDetect);
}
void c_api_plate_id_cloud_free() {
    uninit_plate_id_cloud_sdk_detector();
}
// its vehicle sdk api
int c_api_init_vehicle_its_detector(int sceneMode, int modelMode, char *keyPath, char *modelPath) {
    return init_vehicle_its_detector(sceneMode, modelMode, keyPath, modelPath);
}
cVehicleITSResult* c_api_vehicle_its_detect(int *plateIDCount, uchar *data, const int w, const int h, const cRECT *rcDetect) {
    const cIMAGE img{data, w, h, 3};
    return vehicle_its_detect(plateIDCount, &img, rcDetect);
}
void c_api_vehicle_its_free() {
    uninit_vehicle_its_detector();
}