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

如何用Python从图片/PDF中提取位置不固定的矩形印章?

印章自动化提取进阶方案

一、优化轮廓筛选逻辑

  • 先抓印章的核心特征过滤无效轮廓:印章基本都是圆形/椭圆形,用cv2.approxPolyDP计算轮廓的近似多边形,或者直接算圆度(公式:4π*面积/周长²),把圆度高于0.7的轮廓留着;另外印章大多是红/蓝色,先转HSV颜色空间提取对应颜色的掩码,再结合轮廓检测,能直接筛掉一大片无关轮廓。
  • 加个尺寸过滤:根据你实际处理的文档,定个印章的面积范围,太小的噪点、太大的页面边框直接排除。

二、结合文本与布局缩小搜索范围

  • 印章一般都在落款、日期附近,用Tesseract这类OCR工具提取文档里的文本,找到“盖章”“日期”“单位名称”这些关键词的位置,就在这些区域附近找轮廓,能省不少算力。
  • 处理PDF的话,用pdfplumber或者PyPDF2先提取页面布局,区分文本块和图像块,优先在图像块里找印章,不用全页扫描。

三、用机器学习补漏

  • 如果轮廓筛选后还是有误检,不妨训练个简单的分类模型:收集一批标注好的印章和非印章图,用TensorFlow或者PyTorch搭个轻量CNN,输入裁剪后的轮廓区域,直接判断是不是印章。
  • 嫌训练麻烦的话,拿YOLO这类预训练目标检测模型微调,标注一批数据就能直接检测印章位置,批量处理的时候效率很高。

四、PDF的特殊处理技巧

  • 要是遇到矢量PDF里的印章(不是图像),用pdfminer提取矢量路径,看路径是不是圆形/椭圆形,颜色是不是红/蓝,再提取对应区域。
  • 扫描版PDF直接用pdf2image转成图片,按图片的流程处理就行。

五、迭代优化测试

  • 攒一批不同场景的测试样本(不同位置、不同样式的印章),每次调整参数后测准确率,比如调颜色阈值、圆度阈值这些。
  • 遇到误检的情况,分析是啥干扰(比如圆形logo、表格边框),针对性加规则过滤。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.08 14:25:14