1.如果想当做主检测器用,只设置gie-unique-id=?即可
2.如果想当做二级检测器用,需要设置:
gie-unique-id=? 当前检测器的id
operate-on-gie-id=? 需要哪个检测器的结果
operate-on-class-ids=0 需要检测器的哪个类别
相关代码
#define CONFIG_GROUP_GIE_ID_FOR_OPERATION "operate-on-gie-id"
else if (!g_strcmp0 (*key, CONFIG_GROUP_GIE_ID_FOR_OPERATION)) {
config->operate_on_gie_id =
g_key_file_get_integer (key_file, group,
CONFIG_GROUP_GIE_ID_FOR_OPERATION, &error);
config->is_operate_on_gie_id_set = TRUE; //如果有"operate-on-gie-id"属性就设置为TRUE
if (config->is_operate_on_gie_id_set)
g_object_set (G_OBJECT (subbin->secondary_gie),
"infer-on-gie-id", config->operate_on_gie_id, NULL); //把上一级检测器的ID给了"infer-on-gie-id"
在gstnvinfer.cpp
switch (prop_id) {
case PROP_OPERATE_ON_GIE_ID:
g_value_set_int (value, nvinfer->operate_on_gie_id);
break;
switch (prop_id) {
case PROP_OPERATE_ON_GIE_ID:
nvinfer->operate_on_gie_id = g_value_get_int (value);
break;
会进入deepstream_secondary_gie_bin.c