Files
work-secretfile-selfcheck/UmiOCR-data/py_src/ocr/tbpu/ignore_area.py

33 lines
898 B
Python
Raw Normal View History

# 忽略区域
from .tbpu import Tbpu
class IgnoreArea(Tbpu):
def __init__(self, areaList):
self.tbpuName = "忽略区域"
self.areaList = areaList
def run(self, textBlocks):
# 返回是否矩形框 a 包含 b
def isInBox(a, b):
return (
a[0][0] <= b[0][0]
and a[0][1] <= b[0][1]
and a[2][0] >= b[2][0]
and a[2][1] >= b[2][1]
)
newList = []
for b in textBlocks:
flag = True # True 为没有被忽略
# 检测当前文块 b 是否在任何一个检测块 a 内
for a in self.areaList:
if isInBox(a, b["box"]):
flag = False # 踩到任何一个块GG
break
if flag: # 没有被忽略
newList.append(b)
return newList