当前位置: 首页 > article >正文

购物团截图自动马赛克地址,手机号码

订单截图隐私信息自动脱敏工具一、工具概述本工具是基于 Python OCR 技术开发的电商订单截图隐私自动脱敏工具针对淘宝、京东、拼多多等主流电商平台订单截图自动识别并对收货地址、手机号码等敏感信息进行马赛克打码实现隐私保护。工具支持单张截图、横向多图拼接、竖向长截图等多种格式自动分区识别、精准定位打码区域全程无需人工干预。二、核心功能1. 图片加载与识别支持从网络 URL 批量加载订单截图自动识别图片尺寸与截图比例对横向拼接截图自动分区避免左右区域文字混淆2. OCR 文字识别与排版还原使用 Tesseract OCR 识别中文、数字、字母按文字坐标自动分行、分列还原截图排版结构根据字符间距智能判断是否添加空格提升文本可读性3. 隐私信息智能识别1手机号码识别识别 11 位国内手机号兼容含*/x等脱敏格式号码自动过滤订单号、快递单号、金额等干扰数字2收货地址识别识别包含省、市、区、街道、路、小区、楼栋、单元、门牌号的完整地址支持单行地址、多行连续地址自动清洗特殊符号、乱码、空格等干扰内容采用关键词匹配 地理库解析双重校验降低误判率3干扰信息自动过滤自动过滤订单关键词订单、实付、运费、物流、合计、时间、商家等自动过滤店铺名称旗舰店、专营店、工厂店、商城等避免误打码4. 自动马赛克打码对识别出的手机号区域自动打码对识别出的收货地址区域自动打码打码区域自动外扩留白确保隐私完全覆盖横向多图分区精准打码不跨区、不错位5. 批量处理与结果输出支持批量 URL 列表自动处理处理结果自动保存至output目录控制台实时输出识别日志与打码区域处理完成后自动预览结果图片三、适用场景电商订单截图隐私脱敏订单截图分享前隐私保护订单截图批量归档与数据安全处理横向/竖向拼接订单截图自动脱敏淘宝、京东、拼多多、抖音电商等多平台订单统一处理四、处理流程加载网络图片图片尺寸与分区判断OCR 文字识别与坐标提取文本分行、间距处理手机号码识别收货地址识别与过滤对应区域自动马赛克打码结果图片保存与预览五、运行环境Python 3.8 及以上依赖库opencv-python、numpy、pytesseract、pillow、requests、jionlp需安装 Tesseract-OCR 并配置中文语言包六、工具特点全自动处理无需框选、无需配置一键批量运行高识别准确率双重地址识别规则降低误判、漏判多格式兼容支持单张、横向 2~4 张拼接、竖向长截图精准打码基于文字坐标区域打码不跨区、不漏覆盖本地安全所有识别与打码在本地完成不上传任何数据易部署使用代码结构清晰可直接集成到业务系统#!/usr/bin/env python#-*- coding: utf-8 -*-# vim:fencutf-8# author tlwlmy# version 2026-04-07importcv2importnumpy as npimportpytesseractimportreimportrequests from ioimportBytesIO from PILimportImage from collectionsimportdefaultdictimportosimportjionlp as jio# 配置 OCR_LANGchi_simPHONE_REGEXre.compile(r(?!\d)(?:1[3-9]\d{8,9}|.*?[*x]{4,}.*?)(?!\d))NAME_REGEXre.compile(r^\s*[\u4e00-\u9fa5]{2,4}\s*$)EXCLUDE_NAMES{收货人,收件人,姓名,收货,地址,订单,买家,卖家}# 安全马赛克 def mosaic_region(img, y, line_h, x1, x2): h, wimg.shape[:2]padding8y1max(0, y - padding)y2min(h, y line_h padding)roiimg[y1:y2, x1:x2]ifroi.size0:returnimg block16smallcv2.resize(roi,(block, block),interpolationcv2.INTER_NEAREST)mosaiccv2.resize(small,(x2-x1, y2-y1),interpolationcv2.INTER_NEAREST)img[y1:y2, x1:x2]mosaicreturnimg def is_valid_address(address: str)-bool: addraddress.strip()ORDER_KEYWORDS{订单,买家,卖家,商家,实付,运费,快递,物流,发货,售后,合计,小计,支付宝,交易,时间}forkwinORDER_KEYWORDS:ifkwinaddress:returnFalse# 过滤掉店面SHOP_PATTERNre.compile(r.*(?:旗舰店|专营店|专卖店|直营店|官方店|生活馆|精品店|百货店|好物店|优品店|严选|商城|超市|铺|小店|工厂店|源头厂|厂家直供|多多|包邮特卖|土特产|批发店|秒杀店|女装店|男装店|美妆店|母婴店|零食店|数码店|家纺店|车品店|文具店|家电店|宠物用品店).*$, re.IGNORECASE)ifbool(SHOP_PATTERN.fullmatch(address.strip())):returnFalse# 终极正则# 1. 正向预查必须包含至少一个地址特征关键字过滤普通文本# 2. 开头必须是2个以上中文地址都是中文地名开头# 3. 后续允许中文、数字、字母、空格、横杠、括号等常见地址符号# 按空格分割每一段单独匹配partsaddr.split()patternr^.*[\u4e00-\u9fa5\dA-Za-z](省|市|区|县|镇|乡|街道|路|街|巷|弄|里|大道|号楼|单元|室|层|苑|花园|小区|公寓|栋|座|坊|邨|村|社区|组).*$forpartinparts: partre.sub(r[^\u4e00-\u9fa5a-zA-Z0-9],, part)iflen(part)6:continueifre.fullmatch(pattern, part, re.IGNORECASE):returnTruereturnFalse# 地址匹配 def is_address_line(line_text): textline_text.strip().replace( ,).replace((,).replace(),)textre.sub(r\d,, text)iflen(text)4:returnFalse ORDER_KEYWORDS{订单,买家,卖家,商家,实付,运费,快递,物流,发货,售后,合计,小计,支付宝,交易,时间}forkwinORDER_KEYWORDS:ifkwintext:returnFalse try: resjio.parse_location(line_text)has_provinceres.get(province)is not None has_cityres.get(city)is not None has_countyres.get(county)is not None has_townres.get(town)is not None has_villageres.get(village)is not Nonereturnany([has_province, has_city, has_county, has_town, has_village])except:returnFalse# OCR行合并返回 文本 y h 子图x1x2 def group_ocr_by_line(data, full_w, full_h,line_height_threshold20): aspectfull_w / full_h sub_regions[]# 计算横向截图的每个子图区域ifaspect0.9:ifaspect0.9: n1elifaspect1.4: n2elifaspect1.95: n3else: n4pwfull_w // nforiinrange(n): x1i * pw x2x1 pw sub_regions.append((x1,x2))else: sub_regions[(0, full_w)]groupdefaultdict(lambda: defaultdict(list))line_posdict()fori, wordinenumerate(data[text]): wordword.strip()ifnot word:continuexdata[left][i]ydata[top][i]hdata[height][i]wdata[width][i]# 行分组lyNoneforcyinline_pos:ifabs(y - cy)line_height_threshold: lycybreakifly is None: lyy line_pos[ly](y, h)# 子图分组sub_idx0foridx,(sx1, sx2)inenumerate(sub_regions):ifsx1xsx2: sub_idxidxbreakgroup[ly][sub_idx].append((x,w,word))# group[ly][sub_idx].append(word)# 返回文本, y, h, x1, x2# res []# for y in sorted(group):# y_pos, h_pos line_pos[y]# sub_dict group[y]# for idx in sorted(sub_dict):# line_text .join(sub_dict[idx])# x1, x2 sub_regions[idx]# res.append((line_text, y_pos, h_pos, x1, x2))# 返回文本, y, h, x1, x2res[]foryinsorted(group): y_pos, h_posline_pos[y]sub_dictgroup[y]sorted_indicessorted(sub_dict)# 按x坐标排序foridxinsorted_indices: wordssorted(sub_dict[idx],keylambda v: v[0])line_textprev_x2None# 上一个字符的右坐标forx, w, wordinwords: current_x1, current_x2sub_regions[idx]ifprev_x2 is not None: gapx - prev_x2# 两个字符之间的空白# 间隔 ≥ 3个字符宽度 → 加1个空格line_text *(gap * len(word)//(w *2))line_textword prev_x2x w x1, x2sub_regions[idx]res.append((line_text,y_pos,h_pos,x1,x2))returnres# 处理单张图片 def process_one(img_url, save_path): resprequests.get(img_url,timeout20)imgcv2.imdecode(np.frombuffer(resp.content, np.uint8), cv2.IMREAD_COLOR)resultimg.copy()H, Wimg.shape[:2]print(f尺寸{W}x{H})pilcv2.cvtColor(img, cv2.COLOR_BGR2RGB)datapytesseract.image_to_data(pil,langOCR_LANG,output_typepytesseract.Output.DICT)# 直接返回带 x1 x2 的结果linesgroup_ocr_by_line(data, W, H)foridx,(text, y, h, x1_region, x2_region)inenumerate(lines): ttext.strip()# print(f区域[{x1_region}-{x2_region}] {t})ifPHONE_REGEX.search(t): mosaic_region(result, y -10, h 20, x1_region, x2_region)ifidx0: py, phlines[idx-1][1], lines[idx-1][2]px1, px2lines[idx-1][3], lines[idx-1][4]mosaic_region(result, py, ph, px1, px2)print(f区域[{x1_region}-{x2_region}] {t})print(f 手机号 → 打码)elifis_address_line(t)or is_valid_address(t): mosaic_region(result, y -10, h 20, x1_region, x2_region)print(f区域[{x1_region}-{x2_region}] {t})print(f 地址 → 打码)cv2.imwrite(save_path, result)returnresult# 批量处理 if__name____main__:IMAGE_URLS[# 单张xxx,# 横向2张xxx,# 竖向2张xxx]os.makedirs(output,exist_okTrue)fori, urlinenumerate(IMAGE_URLS): print(f\n 处理第 {i1} 张 )savefoutput/result_{i1:02d}.pngout_imgprocess_one(url, save)cv2.imshow(f结果 {i1}, out_img)cv2.waitKey(1)cv2.destroyAllWindows()print(\n✅ 全部处理完成已保存到 output 文件夹)

相关文章:

购物团截图自动马赛克地址,手机号码

订单截图隐私信息自动脱敏工具一、工具概述 本工具是基于 Python OCR 技术开发的电商订单截图隐私自动脱敏工具,针对淘宝、京东、拼多多等主流电商平台订单截图,自动识别并对收货地址、手机号码等敏感信息进行马赛克打码,实现隐私保护。 工具…...

OpenClaw备份恢复方案:千问3.5-35B-A3B-FP8任务配置的迁移技巧

OpenClaw备份恢复方案:千问3.5-35B-A3B-FP8任务配置的迁移技巧 1. 为什么需要备份OpenClaw配置 上周我的主力开发机突然硬盘故障,导致所有数据丢失。最让我痛心的不是代码,而是精心调校了三个月的OpenClaw自动化工作流——包括对接千问3.5模…...

2026开发者App质量监控工具盘点与选型

2026开发者App质量监控工具盘点与选型 质量导航君 头像: 粉丝数:9.6万|获赞数:42.7万 专注开发者工具选型科普,长期输出真实测评与场景解法,帮你在繁杂方案中快速锁定匹配工具。本期聚焦App质量监控领域&a…...

三个角度分析AI自动写文+自动发布自媒体矩阵提效实测

搞自媒体干久了,有谁没动过心思琢磨能不能让机器来帮忙写、帮忙发?尤其是你手头上攥着五六个账号,天天瞅着不同平台的规则、排版、发布时间的安排,脑袋都快给弄炸。最近我试了这么一个流程:用人工智能自动去写文章然后…...

Pyplot在图表显示中文--配置文件法

希望所有 Matplotlib 图表都默认使用黑体、红色线条、圆形标记步骤1:找到/创建配置文件 运行以下代码找到配置文件路径: import matplotlib print(matplotlib.matplotlib_fname())假设输出:C:\Users\你的用户名\.matplotlib\matplotlibrc 如果…...

**标题:MLOps实战进阶:用Python+Docker+Kubernetes打造自动化模型部署流水

标题:MLOps实战进阶:用PythonDockerKubernetes打造自动化模型部署流水线 在现代机器学习工程中,模型从实验到上线的全流程自动化已成为企业级落地的关键瓶颈。传统手动部署模式不仅效率低下,还容易因环境差异导致“在我电脑上能跑…...

【Swoole微服务适配黄金法则】:基于127个真实项目数据验证的8项兼容性阈值指标(含QPS衰减预警公式)

第一章:Swoole微服务适配黄金法则的提出背景与核心价值随着 PHP 生态在高并发、低延迟场景中的持续演进,传统 FPM 架构在微服务化进程中暴露出连接开销大、进程模型僵化、协程支持缺失等系统性瓶颈。Swoole 作为 PHP 原生高性能网络引擎,凭借…...

SDMatte多GPU并行推理配置:提升企业级批量处理吞吐量

SDMatte多GPU并行推理配置:提升企业级批量处理吞吐量 1. 为什么需要多GPU并行推理 当企业需要处理大批量图片时,单张GPU往往难以满足需求。想象一下,你有一家电商公司,每天需要处理上万张商品图片的背景替换。如果只用一张GPU&a…...

仅用3行代码重构I/O密集型API,PHP异步响应时间从1.2s降至86ms(真实电商订单中心压测数据)

第一章:PHP异步I/O性能的本质瓶颈与重构价值PHP 传统同步阻塞模型在高并发 I/O 场景下存在根本性性能瓶颈:每个请求独占一个进程或线程,当执行文件读写、数据库查询或 HTTP 调用时,整个执行流被挂起,CPU 空转等待内核返…...

GPT-6曝光4月14日发布:性能暴涨40%,200万Token,AI真正进入能干活时代

4月14日,OpenAI将发布迄今最强大的AI模型多个独立消息源已确认:OpenAI下一代旗舰模型GPT-6,代号"Spud"(土豆),预计在2026年4月14日正式发布。核心数据:相比GPT-4o性能提升超40%&#…...

QEMU v8.2.4 源码深度剖析:从编译到核心模块的实战指南

1. 从零开始:编译属于你自己的QEMU v8.2.4 如果你和我一样,对虚拟化技术充满好奇,总想扒开QEMU这头“巨兽”的肚子看看里面到底是怎么运转的,那么从源码编译开始,绝对是最扎实的第一步。这不仅仅是得到一个可执行文件&…...

CPU性能优化实战指南:从问题诊断到深度调优

CPU性能优化实战指南:从问题诊断到深度调优 【免费下载链接】CPUDoc 项目地址: https://gitcode.com/gh_mirrors/cp/CPUDoc 问题诊断:为什么相同硬件配置性能差异显著? 隐藏的性能损耗:现代CPU调度困境 现代处理器如同拥…...

如何让旧款Mac重获新生:OpenCore Legacy Patcher的系统延续方案

如何让旧款Mac重获新生:OpenCore Legacy Patcher的系统延续方案 【免费下载链接】OpenCore-Legacy-Patcher Experience macOS just like before 项目地址: https://gitcode.com/GitHub_Trending/op/OpenCore-Legacy-Patcher 当你面对一台性能尚可但被苹果官方…...

终极nvm-windows完整指南:Windows平台Node.js版本管理专业解决方案

终极nvm-windows完整指南:Windows平台Node.js版本管理专业解决方案 【免费下载链接】nvm-windows A node.js version management utility for Windows. Ironically written in Go. 项目地址: https://gitcode.com/gh_mirrors/nv/nvm-windows nvm-windows是Wi…...

Papa Parse CSV解析错误终极诊断指南:从问题定位到完美修复的完整实践

Papa Parse CSV解析错误终极诊断指南:从问题定位到完美修复的完整实践 【免费下载链接】PapaParse Fast and powerful CSV (delimited text) parser that gracefully handles large files and malformed input 项目地址: https://gitcode.com/gh_mirrors/pa/PapaP…...

3个简单步骤入门连续血糖监测研究:Awesome-CGM完整指南

3个简单步骤入门连续血糖监测研究:Awesome-CGM完整指南 【免费下载链接】Awesome-CGM List of CGM datasets 项目地址: https://gitcode.com/gh_mirrors/aw/Awesome-CGM 在糖尿病研究和健康科技领域,连续血糖监测(CGM)数据…...

如何用Input Leap实现跨设备控制?打造无缝多设备协作体验

如何用Input Leap实现跨设备控制?打造无缝多设备协作体验 【免费下载链接】input-leap Open-source KVM software 项目地址: https://gitcode.com/gh_mirrors/in/input-leap 在多设备办公环境中,频繁切换键盘鼠标不仅打断工作流,更降低…...

Nginx 学习总结式

1. 引入 在现代 AI 工程中,Hugging Face 的 tokenizers 库已成为分词器的事实标准。不过 Hugging Face 的 tokenizers 是用 Rust 来实现的,官方只提供了 python 和 node 的绑定实现。要实现与 Hugging Face tokenizers 相同的行为,最好的办法…...

OpenProject API集成深度解析:构建企业级工作流自动化引擎

OpenProject API集成深度解析:构建企业级工作流自动化引擎 【免费下载链接】openproject OpenProject is the leading open source project management software. 项目地址: https://gitcode.com/GitHub_Trending/op/openproject 在当今的软件开发与项目管理…...

3种跨平台文件系统解决方案:打破设备壁垒的存储策略与实践指南

3种跨平台文件系统解决方案:打破设备壁垒的存储策略与实践指南 【免费下载链接】Free-NTFS-for-Mac Nigate: An open-source NTFS utility for Mac. It supports all Mac models (Intel and Apple Silicon), providing full read-write access, mounting, and manag…...

Honey Select 2 HF Patch整合方案:插件优化工具使用指南

Honey Select 2 HF Patch整合方案:插件优化工具使用指南 【免费下载链接】HS2-HF_Patch Automatically translate, uncensor and update HoneySelect2! 项目地址: https://gitcode.com/gh_mirrors/hs/HS2-HF_Patch Honey Select 2 HF Patch是一款专为《Honey…...

案例速递|手机摄像头模组底壳检测

东莞市沃德普自动化科技有限公司 www.wordop.com 检测背景: 在手机摄像头模组的精密制造流程中,模组底壳是镜头、CMOS传感器、VCM马达的核心承载与定位基准,其表面质量直接决定模组的装配精度、光学性能与长期使用可靠性。 检测需求&#x…...

[Linux][虚拟串口]x一个特殊的字节贤

简介 langchain专门用于构建LLM大语言模型,其中提供了大量的prompt模板,和组件,通过chain(链)的方式将流程连接起来,操作简单,开发便捷。 环境配置 安装langchain框架 pip install langchain langchain-community 其中…...

DataCap实战指南:从多源数据整合到智能可视化的全流程解析

1. DataCap入门:为什么你需要这个数据瑞士军刀 第一次接触DataCap是在三年前的一个企业数据治理项目里。当时客户有十几个不同系统的数据需要整合,从传统的MySQL到实时分析的ClickHouse,还有一堆Excel和CSV文件。团队折腾了两周都没搞定数据…...

博客标题:智契通项目开发周记(第一周):架构设计与基础环境搭建

一、 本周工作概述 本周是项目实训的第一周,核心目标并非实现具体的业务功能,而是进行顶层设计与地基建设。基于《智契通》项目需求,我们确立了“Spring Boot 3 Vue 3 AI”的技术路线。 主要工作分为两个维度: 架构设计&#…...

002、Python开发环境搭建:从官网下载到安装完成

002、Python开发环境搭建:从官网下载到安装完成 昨天帮实习生调试一个简单的脚本,他信誓旦旦说环境肯定没问题,结果一跑就报“python不是内部或外部命令”。我让他打开命令行输入where python,果然空空如也——环境变量都没配。这…...

Fan Control风扇控制软件:从噪音难题到散热优化的全方位解决方案

Fan Control风扇控制软件:从噪音难题到散热优化的全方位解决方案 【免费下载链接】FanControl.Releases This is the release repository for Fan Control, a highly customizable fan controlling software for Windows. 项目地址: https://gitcode.com/GitHub_T…...

Axure RP中文语言包:3分钟实现专业原型设计工具完全汉化

Axure RP中文语言包:3分钟实现专业原型设计工具完全汉化 【免费下载链接】axure-cn Chinese language file for Axure RP. Axure RP 简体中文语言包。支持 Axure 11、10、9。不定期更新。 项目地址: https://gitcode.com/gh_mirrors/ax/axure-cn 你是否正在使…...

RAGAS 了解吗?它的评估指标有哪些?评估流程是怎样的?评估数据如何获取和构造?

1. 题目分析做过 RAG 项目的人大概都有过这种体验:系统搭完了,效果怎么样?说好也行,说不好也行,全凭主观感觉。你觉得检索结果挺相关的,老板觉得回答不够精准;你觉得答案已经很准了,…...

【限时技术内参】EF Core团队内部测试报告流出:向量搜索启用后DbContext并发吞吐量下降41%的根因与热修复补丁

第一章:Entity Framework Core 10 向量搜索扩展 避坑指南Entity Framework Core 10 原生未提供向量搜索能力,需依赖第三方扩展(如 EFCore.Vector 或数据库原生支持)实现相似性检索。开发者常因忽略底层向量存储格式、索引策略或查…...