You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何使用Python实现书籍段落识别与单段图片保存?

可用的Python库及段落分割实现思路

核心工具库

  • OpenCV:是这类图像分割任务的首选,擅长图像预处理、轮廓检测与区域定位,能高效识别页面中的段落块。
  • Pillow(PIL):搭配OpenCV使用,负责最终的图像裁剪、格式转换与保存操作,接口简单易上手。
  • EasyOCR:可选辅助工具,能识别图片中的文本位置,帮助你更精准地区分正文段落和旁注区域。

具体实现步骤

  1. 图像预处理

    • 将彩色图转为灰度图:cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)
    • 二值化处理,强化文字与背景的对比:cv2.threshold(gray, 0, 255, cv2.THRESH_BINARY_INV + cv2.THRESH_OTSU)
    • 用膨胀操作合并同段落的文字行,便于检测完整段落块:cv2.dilate(thresh, cv2.getStructuringElement(cv2.MORPH_RECT, (5,5)), iterations=2)
  2. 定位段落区域

    • 用cv2.findContours提取图像中的轮廓,通过轮廓的宽度、高度阈值筛选(比如旁注宽度远小于正文,可直接过滤)。
    • 用cv2.boundingRect获取每个有效轮廓的外接矩形坐标,得到段落的位置范围。
  3. 裁剪并保存段落

    • 根据坐标从原图中裁剪出单个段落区域,可使用OpenCV的切片或Pillow的crop()方法。
    • 逐个保存为独立图片:cv2.imwrite(f"paragraph_{index}.jpg", cropped_img)

关键注意事项

  • 旁注过滤:通过设置轮廓的最小宽度阈值,轻松排除页面侧边的窄幅旁注区域。
  • 参数调整:如果段落间距不明显,可修改形态学操作的核大小和迭代次数,让段落块的边界更清晰。

内容的提问来源于stack exchange,提问作者fANNyCOttero

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.17 07:12:37