python批量旋转裁剪图片实战

引子

有一本PDF电子书,由扫描的图片生成的,每页的截图看起来如下图:

它是展开扫描的,两页并列在一张图片上。并且每页又是分两栏,这样的PDF在手机、平板上,需要放大阅读,不停地左右移动,非常不便。

就想到将PDF导出为图像文件,将每张图片分割为两张,再合成为PDF,这样阅读起来就舒服多了。

导出PDF为图像后,发现图像又是这样的:

有两个方法:

  • 一是 在 PS 中创建一个动作,对图片进行旋转、裁剪、新建、粘贴、另存为操作,再对得到的图片重命名;不断重复这个过程。
  • 二是 学 python 的,用 python 对导出的图片进行批量操作,“自动化办公”。

第一种方法非常枯燥、费时。

python 人的思路

  1. 使用 python PIL 库;
  2. 创建一个 CropImg.py 模块,存储全部代码;
  3. 定义一个函数def get_path_list(root_dir):,获取原照片保存目录下的全部照片的完整文件名,保存到一个列表中,函数返回这个列表;
  4. 定义一个方法def rotate_crop(input_img, out_img):,遍历列表中的每张照片,打开照片、旋转照片、将照片一分为二、分别重命名保存到指定目录中。
  5. 小程序的结构如下图:

效果

运行CropImg.py,几分钟即完成了几百页图片的处理,结果非常满意。


学习 python,自动化处理一些重复的办公任务,其乐无穷!

完整的代码可以到 Python草堂QQ群 457079928 下载。有问题和更好的想法也可以到草堂来讨论!

python批量旋转裁剪图片实战相关推荐

  1. jQuery 缩放 旋转 裁剪图片 Image Cropper

    A simple jQuery image cropping plugin. Demo cropper是一款使用简单且功能强大的图片剪裁jQuery插件.该图片剪裁插件支持图片放大缩小,支持图片旋转, ...

  2. Python批量重命名图片

    Python批量重命名图片 # -*- coding:utf8 -*-import osclass BatchRename():'''批量重命名文件夹中的图片文件'''def __init__(sel ...

  3. 使用Python批量旋转,镜像图片

    前言 当我们进行大量图像处理时,经常需要旋转或镜像图像.但一张张处理图片费神又费力,有什么好的办法可以帮助我们快速搞定这个问题呢?这时候我们可以写个简单的python程序来搞定它!~ 在Python中 ...

  4. python下载网页里面所有的图片-Python批量下载网页图片详细教程

    很多朋友在网上查找批量下载图片的方法~发觉挺凌乱的,无从下手.这里绿茶小编就来跟大家分享下使用Python批量下载图片方法. 目标:爬取某个网站上n多页的链接,每个链接有n多张图片,每一页对应一个文件 ...

  5. Python批量删除错误图片、修改文件名以及删除重复图片

    一.批量删除错误图片: 代码如下: import osfor name in range(1,150):with open('C:\\Users\\adimin\\Desktop\\Pixiv_Img ...

  6. python pdf删除图片_【原创】python批量删除pdf图片水印(Xobject)的一种方法

    1.说明: 下载到的pdf总会有一些水印,pdf文件水印添加方式除了acrobat adobe自带的以外,还有很多,所以去除水印方法也很多,这里介绍的也只是一种适用python批量删除图片水印Xobj ...

  7. 【超实用】python批量ppt转图片,pdf转图片,word转图片脚本,直接拿去用

    前言 某天我们运营在编辑后台的时候说每次上传ppt,pdf,word时都要把每个文件先导出一次图片,然后一个一个上传(png用作预览,ppt,pdf,word源文件不能直接下载的,要付费),说效率太低 ...

  8. python批量下载必应图片

    梗概:我是个化验师,我们可是也要我们做PPT,医学知识往往繁多复杂,要是有比较好的照片配合文字,可以大大增加PPT的效果.必应这个网站可以搜索到比较有价值的医学图片,要是你输入一个医学名词,同样的搜索 ...

  9. 用IDM 和 python 批量下载webp图片

    今天遇到了一个新的需求.网站上有许多webp图片,直接打开它,拒绝访问,浏览器打开也403,一看就是被保护了.写了python批量来下也失败.最后用IDM试一下,居然可以下载.但是一个一个下载太麻烦了 ...

最新文章

  1. css3毛玻璃模糊效果
  2. MyBatis 3 – Spring集成教程
  3. 路透社:谷歌已停止与华为部分合作;联想否认断供华为PC;微软计划直供Linux内核;谷歌无人机快递Wing进军芬兰……...
  4. 百度云盘云知梦php_教你搭建私有云盘,简单快速,完全傻瓜式!不限速,永久有效!...
  5. 吃货阶段03 需求 实现我要下单的功能 0927
  6. python爬虫bs4_Python爬虫系列-Xpath自如和bs4链家
  7. 字节跳动联邦学习平台通过中国信通院首批评估 数据安全能力得到专业验证
  8. Facebook开源多款AI工具,支持游戏、翻译
  9. Beyond Compare 4常用配置
  10. k3c路由怎么设置虚拟服务器,搭建ngrok服务器!!给k3.k3c.K2.k2p路由器使用!!详细教程!!!...
  11. 示波器在Multisim仿真中如何看信号周期频率
  12. 路由守卫(全局钩子(全局路由守卫)、路由单独钩子(router独享守卫))
  13. boost::lexical_cast 学习小记
  14. CINTA作业一:加减乘除
  15. APS生产计划排程系统介绍-FLEXSCHE-真正解决复杂需求的灵活且强大的通用系统
  16. 为什么计算机要更新,为什么要关闭windows 10更新理由详解
  17. Rviz显示机器人运动轨迹
  18. 《读者》的“卷首语” (二)
  19. 多表操作-外键级联操作
  20. Trackback, Pingback , Backlink与博客

热门文章

  1. 探探人脸识别自动右滑1.0版本(附代码)
  2. 赛门铁克整合Altiris推端点安全管理平台
  3. json对齐行尾的注释 - 在vscode格式化
  4. 苹果home键在哪里设置_苹果屏幕上的home键在哪里设置出来
  5. 如何做 APP 安装测试 ?
  6. oppor9的计算机符号,OPPO R9怎么关闭手机按键灯和显示运营商标志 OPPO R9关闭手机按键灯和显示运营商标...
  7. 这回轮到阿里云了。。
  8. Java线程属性详解(Demo-Java基础)
  9. PDF文档怎么新建空白页面的方法
  10. 计算机主板外频,计算机外频的相关概念