@@ -1314,12 +1314,18 @@ async def _run_textline_merge(self, config: Config, ctx: Context):
13141314
13151315 if filtered_out_regions :
13161316 reference_desc = f'切割块({ patch_size } x{ w } )' if require_rearrange else f'整图({ img_w } x{ img_h } )'
1317+ filter_ratio = len (filtered_out_regions ) / before_filter_count * 100 if before_filter_count > 0 else 0
1318+ # Info级别:只显示摘要
13171319 logger .info (f'合并后面积过滤: 参考={ reference_desc } , 最小面积比例={ config .detector .min_box_area_ratio :.4f} ({ config .detector .min_box_area_ratio * 100 :.2f} %), '
1318- f'过滤前={ before_filter_count } , 过滤后={ after_filter_count } , 移除={ len (filtered_out_regions )} (仅单框区域)' )
1319- for idx , (region , ratio , num_lines , was_rearranged ) in enumerate (filtered_out_regions [:5 ]):
1320- logger .debug (f' 移除单框区域[{ idx + 1 } ]: 面积={ region .real_area :.1f} 像素, 占比={ ratio * 100 :.3f} %, 文本行数={ num_lines } , 文本="{ region .text [:20 ]} "' )
1321- if len (filtered_out_regions ) > 5 :
1322- logger .debug (f' ... 还有 { len (filtered_out_regions )- 5 } 个被过滤的单框区域未显示' )
1320+ f'过滤前={ before_filter_count } , 过滤后={ after_filter_count } , 移除={ len (filtered_out_regions )} ({ filter_ratio :.1f} %, 仅单框区域)' )
1321+ # Debug级别:显示详细信息
1322+ if self .verbose :
1323+ for idx , (region , ratio , num_lines , was_rearranged ) in enumerate (filtered_out_regions ):
1324+ # 获取框的宽高
1325+ x1 , y1 , x2 , y2 = region .xyxy
1326+ width = x2 - x1
1327+ height = y2 - y1
1328+ logger .debug (f' 移除单框区域[{ idx + 1 } ]: 大小={ width :.0f} x{ height :.0f} , 面积={ region .real_area :.1f} 像素, 占比={ ratio * 100 :.3f} %, 文本="{ region .text [:20 ]} "' )
13231329
13241330 new_text_regions = []
13251331 for region in text_regions :
0 commit comments