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

py 图片拆分

from PIL import Image import os def split_chars_and_numbers(image_path, output_dirsplit_all_chars, split_lettersTrue, split_numbersTrue): 一体化切分图片中的字母(A-Z)和数字(1-90) :param image_path: 输入图片路径 :param output_dir: 输出根文件夹 :param split_letters: 是否切分字母默认True :param split_numbers: 是否切分数字默认True # 创建根输出文件夹 os.makedirs(output_dir, exist_okTrue) # 分别创建字母/数字子文件夹 letters_dir os.path.join(output_dir, letters) numbers_dir os.path.join(output_dir, numbers) if split_letters: os.makedirs(letters_dir, exist_okTrue) if split_numbers: os.makedirs(numbers_dir, exist_okTrue) # 打开图片并获取尺寸 img Image.open(image_path) img_width, img_height img.size print(f图片原始尺寸: {img_width}x{img_height}) # 1. 切分字母A-Z if split_letters: print(\n开始切分字母...) # 裁剪边缘空白减少干扰 crop_margin 20 cropped_img img.crop(( crop_margin, crop_margin, img_width - crop_margin, img_height - crop_margin )) crop_w, crop_h cropped_img.size # 字母行配置每行字符数字符列表 letter_row_configs [ (7, [A, B, C, D, E, F, G]), # 第1行 (7, [H, I, J, K, L, M, N]), # 第2行 (6, [O, P, Q, R, S, T]), # 第3行无第7个字符 (6, [U, V, W, X, Y, Z]), # 第4行无第7个字符 ] # 计算字母区域总高度前4行 letter_total_height int(crop_h * 0.75) # 字母占图片75%高度 row_height letter_total_height // len(letter_row_configs) # 逐行切分字母 for row_idx, (char_count, char_list) in enumerate(letter_row_configs): y_start row_idx * row_height y_end (row_idx 1) * row_height char_width crop_w // char_count for col_idx, char in enumerate(char_list): x_start col_idx * char_width x_end (col_idx 1) * char_width # 裁剪并保存字母 char_box (x_start, y_start, x_end, y_end) char_img cropped_img.crop(char_box) save_path os.path.join(letters_dir, fletter_{char}.png) char_img.save(save_path) print(f 已保存字母 {char} → {save_path}) # 2. 切分数字1-90 if split_numbers: print(\n开始切分数字...) # 精准定位数字行区域比例适配易微调 number_row_box ( int(img_width * 0.05), # 数字行左侧 int(img_height * 0.8), # 数字行顶部 int(img_width * 0.95), # 数字行右侧 int(img_height * 0.95) # 数字行底部 ) # 裁剪数字行 number_row_img img.crop(number_row_box) num_w, num_h number_row_img.size # 数字列表和宽度 numbers [1,2,3,4,5,6,7,8,9,0] single_num_width num_w // len(numbers) # 逐一切分数字 for idx, num in enumerate(numbers): x_start idx * single_num_width x_end (idx 1) * single_num_width num_box (x_start, 0, x_end, num_h) num_img number_row_img.crop(num_box) save_path os.path.join(numbers_dir, fnumber_{num}.png) num_img.save(save_path) print(f 已保存数字 {num} → {save_path}) print(f\n✅ 切分完成所有文件已保存到 {output_dir} 文件夹) # 执行入口可灵活配置 if __name__ __main__: # 替换为你的图片路径本地路径/网络URL都支持 IMAGE_PATH /Users/mac/Downloads/75818f57-3658-49cf-a5e4-834a12556d50.jpeg # 本地图片示例 # IMAGE_PATH f3c81798185c404c87fa1dccfdaa4d50.jpeg # 配置切分选项按需修改 SPLIT_LETTERS True # 切分字母True/False SPLIT_NUMBERS True # 切分数字True/False # 执行切分 split_chars_and_numbers( image_pathIMAGE_PATH, split_lettersSPLIT_LETTERS, split_numbersSPLIT_NUMBERS )结果

相关文章:

py 图片拆分

from PIL import Image import osdef split_chars_and_numbers(image_path, output_dir"split_all_chars", split_lettersTrue, split_numbersTrue):"""一体化切分图片中的字母(A-Z)和数字(1-90):param image_path: 输入图片路径:param output_dir: 输…...

PyTorch网络可视化利器:PlotNeuralNet从入门到实战

1. PlotNeuralNet:让神经网络结构一目了然的神器 第一次看到PlotNeuralNet生成的网络结构图时,我正为论文插图发愁。那些用PPT手绘的粗糙框图在学术会议上显得格格不入,直到发现这个能将代码直接转化为出版级矢量图的工具。PlotNeuralNet本质…...

为B2B工业制造企业甄选GEO服务商:为何径硕科技(JINGdigital)是值得托付的专业之选

当工业制造企业的营销决策者主动探寻“b2b工业制造企业geo服务商”时,这标志着企业的数字化战略已进入一个务实且关键的新阶段:从理解趋势转向寻求可靠的执行伙伴。在生成式搜索(GEO)成为新流量中枢的背景下,选择一家真…...

如何为YOLO模型注入新模块:从零到一的实战缝合指南

1. 为什么需要给YOLO模型添加新模块 第一次接触YOLO模型时,我就被它的速度和精度所震撼。但随着项目深入,发现原版模型在某些特定场景下表现不佳。比如在夜间低光照条件下,目标检测的准确率会明显下降;又或者遇到密集小物体时&…...

YOLOv12赋能Web前端:JavaScript实现浏览器端实时目标检测演示

YOLOv12赋能Web前端:JavaScript实现浏览器端实时目标检测演示 最近在捣鼓一些前端和AI结合的有趣项目,发现了一个挺有意思的方向:把目标检测这种通常需要后端服务器或强大GPU支持的任务,直接搬到浏览器里跑。听起来有点不可思议对…...

股票查询API实践分享:实时获取关注股票行情

在做股票相关项目时,我经常需要实时关注几只重点股票的行情,这不仅是为了展示,也方便做一些简单分析或策略判断。单靠手动刷新网页或者定时抓取数据效率太低,而股票查询API可以把行情数据直接推送到程序里,非常方便。确…...

最新!2026年OpenClaw京东云4分钟云上/MacOS/Linux/Windows集成及使用步骤

最新!2026年OpenClaw京东云4分钟云上/MacOS/Linux/Windows集成及使用步骤。OpenClaw是什么?OpenClaw能做什么?OpenClaw怎么部署?OpenClaw(前身为Clawdbot/Moltbot)作为开源、本地优先的AI助理框架&#xff…...

Wan2.1 VAE一键部署教程:基于Python的AI图像生成环境快速搭建

Wan2.1 VAE一键部署教程:基于Python的AI图像生成环境快速搭建 你是不是也对那些能凭空生成精美图片的AI模型感到好奇,想亲手搭建一个来玩玩,却被复杂的依赖、繁琐的配置劝退?别担心,今天我们就来聊聊Wan2.1 VAE这个开…...

在 ASP.NET Core 项目里接入大模型,真没那么难

生成式 AI 这两年火得发烫,但很多 .NET 团队还在观望——不是不想用,是怕“水土不服”:OpenAI 要科学-上网、Azure 成本高、国外模型对中文理解总差点意思……好消息是,现在完全不用纠结了。通义千问、DeepSeek 这些国产大模型&am…...

ChatGLM3-6B-128K效果展示:Ollama部署后招投标文件128K关键条款比对

ChatGLM3-6B-128K效果展示:Ollama部署后招投标文件128K关键条款比对 1. 引言:当AI遇上超长合同 想象一下,你面前摆着两份加起来超过十万字的招投标文件,你需要快速找出其中所有不一致的条款、潜在的风险点,以及可能存…...

3月前端面试了十来个前端开发,全是菜鸡!!

都说了现在除了大厂,基本不问八股了,都在刷场景 例如: “如何一次性渲染十万条数据还能保证页面不卡顿?”(虚拟列表实现,还要支持动态高度) “当QPS达到峰值时,前端该如何处理&am…...

如何画出优秀的架构图?

41架构视图逻辑视图:系统提供给用户的功能,对应 UML 的 class 和 state diagrams处理视图:系统的处理过程,对应 UML 的 sequence 和 activity diagrams开发视图:程序员角度看系统的逻辑组成,对应 UML 的 pa…...

霜儿-汉服-造相Z-Turbo生成效果深度评测:对比不同采样器与参数

霜儿-汉服-造相Z-Turbo生成效果深度评测:对比不同采样器与参数 最近在玩AI绘画的朋友,估计都听说过“造相Z-Turbo”这个模型,尤其是它在生成国风、汉服这类题材上的表现,经常被大家津津乐道。但模型好归好,怎么才能让…...

GTE文本向量-large多任务协同案例:电商评论情感分析→触发事件抽取→生成摘要链路

GTE文本向量-large多任务协同案例:电商评论情感分析→触发事件抽取→生成摘要链路 1. 引言:从单一任务到智能决策链 想象一下,你是一家电商平台的运营人员。每天,海量的用户评论涌入后台,里面混杂着对商品的赞美、对…...

Java毕业设计springboot基于Javaweb的二手图书交易系统76915352

前言 基于Spring Boot的二手图书交易系统是一个高效、易用、安全、可扩展的在线交易平台。该系统采用JavaWeb技术栈和优秀的开发框架,实现了用户注册与登录、用户信息管理、图书管理、交易管理、支付功能、评价系统和消息通知等主要功能模块。同时,系统还…...

CIrrMap250:中国2000–2020年250米灌溉耕地分布栅格数据|逐年百分比|GeoTIFF格式

🔍 数据简介 本数据集为 CIrrMap250(Annual maps of China’s irrigated cropland from 2000 to 2020),由中国科学院西北生态环境资源研究院张凌等学者于2024年6月发布于 figshare 平台。 数据提供 2000–2020 年中国逐年灌溉耕地…...

零基础入门Sambert语音合成:Web界面操作,快速生成多情感语音

零基础入门Sambert语音合成:Web界面操作,快速生成多情感语音 1. 引言:语音合成的平民化时代 想象一下,你正在制作一个儿童故事APP,需要不同角色的声音;或者你经营一家网店,想为每个商品添加个…...

安达发|生产排单软件——让汽配行业零部件“掉链子”成为历史!

汽车制造领域有说法称,一辆汽车上万个零部件,任一零部件交付延迟都可能让总装线停滞,这使汽配行业生产排单成了与时间的精准博弈。某汽配供应商为例,它为车企生产发动机支架等,每天要处理数百订单、数十型号产品&#…...

Retinaface+CurricularFace部署教程:NVIDIA驱动版本要求与GPU利用率监控方法

RetinafaceCurricularFace部署教程:NVIDIA驱动版本要求与GPU利用率监控方法 1. 环境准备与驱动检查 在部署RetinafaceCurricularFace人脸识别模型之前,确保你的NVIDIA显卡驱动和CUDA环境正确配置至关重要。这个模型基于PyTorch框架,需要特定…...

Qwen3-32B智能客服系统:SpringBoot微服务架构设计与实现

Qwen3-32B智能客服系统:SpringBoot微服务架构设计与实现 1. 智能客服系统架构设计 现代企业客服系统面临高并发、多租户、智能化等核心需求。基于Qwen3-32B大模型和SpringBoot微服务架构,我们设计了一套高性能智能客服解决方案。 系统采用分层架构设计…...

霜儿-汉服-造相Z-Turbo API接口设计规范与最佳实践

霜儿-汉服-造相Z-Turbo API接口设计规范与最佳实践 最近在折腾一个基于“霜儿-汉服-造相Z-Turbo”模型的AI绘画项目,发现要把模型能力开放出去,设计一套好用的API接口是关键。这事儿听起来挺技术,但其实跟设计一个清晰、好用的产品说明书差不…...

4步掌握视差滚动技术:面向前端开发者的Locomotive Scroll实战指南

4步掌握视差滚动技术:面向前端开发者的Locomotive Scroll实战指南 【免费下载链接】locomotive-scroll 🛤 Detection of elements in viewport & smooth scrolling with parallax. 项目地址: https://gitcode.com/gh_mirrors/lo/locomotive-scroll…...

如何用Siri控制传统家电?Homebridge-Broadlink-RM插件全攻略

如何用Siri控制传统家电?Homebridge-Broadlink-RM插件全攻略 【免费下载链接】homebridge-broadlink-rm Broadlink RM Mini and Pro plugin for homebridge: https://github.com/nfarina/homebridge 项目地址: https://gitcode.com/gh_mirrors/ho/homebridge-broa…...

PE_to_shellcode:将Windows可执行文件转化为注入式shellcode的终极方案

PE_to_shellcode:将Windows可执行文件转化为注入式shellcode的终极方案 【免费下载链接】pe_to_shellcode Converts PE into a shellcode 项目地址: https://gitcode.com/gh_mirrors/pe/pe_to_shellcode 在红队渗透测试和恶意软件分析领域,PE文件…...

告别单调界面:foobox-cn如何为foobar2000带来专业级音乐播放体验

告别单调界面:foobox-cn如何为foobar2000带来专业级音乐播放体验 【免费下载链接】foobox-cn DUI 配置 for foobar2000 项目地址: https://gitcode.com/GitHub_Trending/fo/foobox-cn 你是否厌倦了千篇一律的音乐播放器界面?foobox-cn作为专为foo…...

自定义foobar2000界面:foobox-cn带来的音乐体验升级

自定义foobar2000界面:foobox-cn带来的音乐体验升级 【免费下载链接】foobox-cn DUI 配置 for foobar2000 项目地址: https://gitcode.com/GitHub_Trending/fo/foobox-cn 每天面对单调的音乐播放器界面是否让你感到审美疲劳?作为音乐爱好者&#…...

AI驱动的测试革命:Cover-Agent自动化测试生成工具全解析

AI驱动的测试革命:Cover-Agent自动化测试生成工具全解析 【免费下载链接】cover-agent CodiumAI Cover-Agent: An AI-Powered Tool for Automated Test Generation and Code Coverage Enhancement! 💻🤖🧪🐞 项目地址…...

AuraSR超分辨率终极指南:3分钟快速实现AI图片4倍无损放大

AuraSR超分辨率终极指南:3分钟快速实现AI图片4倍无损放大 【免费下载链接】AuraSR 项目地址: https://ai.gitcode.com/hf_mirrors/fal/AuraSR 想要将AI生成的模糊图片瞬间变成高清大作吗?AuraSR超分辨率模型让你轻松实现图片4倍无损放大&#xf…...

HY-Motion 1.0性能基准:HumanML3D、KIT-ML评测分数全面领先

HY-Motion 1.0性能基准:HumanML3D、KIT-ML评测分数全面领先 1. 模型概述与核心特性 HY-Motion 1.0是基于流匹配技术的3D动作生成大模型,代表了文本到3D动作生成领域的最新突破。这个模型系列采用了Diffusion Transformer(DiT)和…...

Alpamayo-R1-10B保姆级教程:WebUI中‘Reset’按钮对内存/CUDA缓存的实际清理效果

Alpamayo-R1-10B保姆级教程:WebUI中Reset按钮对内存/CUDA缓存的实际清理效果 1. 项目背景与问题场景 Alpamayo-R1-10B是NVIDIA开发的自动驾驶专用视觉-语言-动作(VLA)模型,其10B参数规模带来了强大的推理能力,同时也对GPU显存管理提出了挑战…...