我正在按照以下教程进行操作:EAST文本检测器的TensorFlow实现(https://github.com/argman/EAST#installation)。
当我执行上述GitHub链接的代码时,在一张图片上我得到了以下输出:
检测代码位于eval.py
在输出中,我希望向生成的边界框添加填充,以便能够正确捕捉到第一个”K”和最后一个”0″。
我更改了代码第69行的盒子阈值。我尝试了不同的值,如0.1、0.05等,但盒子的大小没有变化。
def detect(score_map, geo_map, timer, score_map_thresh=0.8, box_thresh=0.1, nms_thres=0.2):
如何向边界框添加填充?
回答:
你需要进入函数,找到提取盒子的那行代码。每个盒子要么用两个坐标表示(左上角和右下角),要么用一个坐标和偏移量表示(左上角点以及盒子的高度和宽度)。在这两种情况下,你都需要从边界框的左上角减去一些像素,并在右下角坐标/高度和宽度上加上一些像素。例如,假设格式是两个坐标,你得到了((456, 234), (789, 453))
。然后当你进行计算(从左上角减去并向右下角添加)时,你会得到类似((470, 250), (800, 470))
的结果。我希望这解释得足够清楚。