Assignment not allowed to message, map, or repeated field \"rect\" in protocol message object
报错原因
grpc中的字段rect
不允许被赋值
rect是DnBoundingRect
的对象
result_pro = digitalNumber_pb2.DnResponse()
for bbox_dict in bbox_list:
bbox = digitalNumber_pb2.DnBoundingRect()
bbox.x = bbox_dict['rect'][0]
bbox.y = bbox_dict['rect'][1]
bbox.w = bbox_dict['rect'][2]
bbox.h = bbox_dict['rect'][3]
result_dict = digitalNumber_pb2.DnResult()
result_dict.classid = bbox_dict['classid']
result_dict.score = bbox_dict['score']
result_dict.rect = bbox
result_pro.results.append(result_dict)
解决
result_pro = digitalNumber_pb2.DnResponse()
for bbox_dict in bbox_list:
result_dict = digitalNumber_pb2.DnResult()
result_dict.classid = bbox_dict['classid']
result_dict.score = bbox_dict['score']
result_dict.rect.x = bbox_dict['rect'][0]
result_dict.rect.y = bbox_dict['rect'][1]
result_dict.rect.w = bbox_dict['rect'][2]
result_dict.rect.h = bbox_dict['rect'][3]
result_pro.results.append(result_dict)