如何向Tensorflow对象检测python模型绑定框添加自定义颜色?
目前,我正在使用标准的Tensorflow对象检测脚本,该脚本经过定制培训,我想更改绑定框的颜色,以适应我的应用程序的性质。然而,我似乎找不到这样做的方法。例如,与其绘制绿色框id,不如在检测到的对象周围绘制红色框。提前谢谢你 我找到了一种方法——在经历了很多麻烦之后。我没有发现任何关于如何做到这一点的文件。 有点,因为有些颜色似乎不起作用 打开visualizations_utils.py。应位于Lib\site packages\utils中。 第41到63行是您的颜色 第164行正下方 draw=ImageDraw.Drawimage 输入新行 颜色=‘粉色’ 保存它,现在您已将颜色更改为粉红色。第175行,可以使标签文本变小 有些颜色似乎不起作用,比如红色 在标签映射pbtxt文件中添加“颜色”属性。i、 e 项目{ 名称:/m/01g317 身份证号码:1 显示名称:person 颜色:粉红色 } 打开文件“research/object\u detection/protos/string\u int\u label\u map.proto”。添加以下行如何向Tensorflow对象检测python模型绑定框添加自定义颜色?,python,tensorflow,computer-vision,data-science,object-detection,Python,Tensorflow,Computer Vision,Data Science,Object Detection,目前,我正在使用标准的Tensorflow对象检测脚本,该脚本经过定制培训,我想更改绑定框的颜色,以适应我的应用程序的性质。然而,我似乎找不到这样做的方法。例如,与其绘制绿色框id,不如在检测到的对象周围绘制红色框。提前谢谢你 我找到了一种方法——在经历了很多麻烦之后。我没有发现任何关于如何做到这一点的文件。 有点,因为有些颜色似乎不起作用 打开visualizations_utils.py。应位于Lib\site packages\utils中。 第41到63行是您的颜色 第164行正下方 d
optional string color = 4;
注意分号和大括号
然后需要序列化数据,因此从research运行以下命令
文件夹
在此之前,您必须基于您的操作系统安装protobuf
更改文件object\u detection/utils/lable\u map\u util.py的函数“convert\u label\u map\u to\u categories”的代码
类别=[]
已添加的ID列表=[]
如果未标记地图:
标签标识偏移量=1
对于rangemax_num_类中的类id:
类别.附加{
“id”:类id+标签id偏移量,
“名称”:“类别”{}.formatclass\u id+标签\u id\u偏移量
}
退货类别
对于label_map.item中的项目:
if not 0 < item.id <= max_num_classes:
logging.info(
'Ignore item %d since it falls outside of requested '
'label range.', item.id)
continue
if use_display_name and item.HasField('display_name'):
name = item.display_name
else:
name = item.name
if use_display_name and item.HasField('color'):
color = item.color
else:
color = ''
if item.id not in list_of_ids_already_added:
list_of_ids_already_added.append(item.id)
categories.append({'id': item.id, 'name': name, 'color': color})
return categories
在代码之后
if agnostic_mode:
box_to_color_map[box] = 'DarkOrange'
else:
if classes[i] in category_index.keys():
class_color = category_index[classes[i]]['color']
box_to_color_map[box] = class_color
if agnostic_mode:
box_to_color_map[box] = 'DarkOrange'