sundeep-news-scan/_probe_fake.py

39 lines
1.4 KiB
Python

import sys, json, contextlib, io
sys.path.insert(0, ".")
from pathlib import Path
import smart_extractor as se
from _lines import separator_barriers, detect_separator_lines
D = Path("output/AndhraJyothi_Siddipet District_20260602_20260603_144919/pages")
png = D / "page_001.png"
regs0 = json.loads((D / "page_001.regions.json").read_text())["regions"]
with contextlib.redirect_stdout(io.StringIO()):
regs = se.drop_masthead_regions(regs0, "andhra_jyothi", 1, png)
byid = {r["id"]: r for r in regs}
# focus region 35 and 55
for rid in (35, 55):
if rid in byid:
r = byid[rid]
print(f"R{rid} type={r['type']} bbox={r['bbox']}")
else:
print(f"R{rid} NOT in regs (dropped?)")
print("\n-- all regions near x 150..750, y 1100..1600 --")
for r in sorted(regs, key=lambda r: r["bbox"][1]):
b = r["bbox"]
if b[1] < 1700 and b[3] > 1050 and b[0] < 760:
print(f" R{r['id']:>3} {r['type']:<16} bbox={b}")
print("\n-- raw horizontal lines near y=1375 --")
res = detect_separator_lines(png)
for L in sorted(res["h"], key=lambda d: d["y1"]):
if 1300 < L["y1"] < 1450:
print(f" H y={L['y1']} x[{L['x1']}..{L['x2']}] len={L['len']} gray={L['gray']}")
print("\n-- separator_barriers near y=1375 --")
bars = separator_barriers(str(png), regs)
for L in sorted(bars, key=lambda d: d["y"]):
if 1300 < L["y"] < 1450:
print(f" bar y={L['y']} x[{L['x1']}..{L['x2']}] mc={L.get('mc')}")