今天在做毕设答辩视频的时候,需要批处理剪裁图片,并且将批处理图片两两拼接,手动一张一张地改费时费力,于是想到用python实现了批处理,计算机不愧是干重复工作的好帮手。
首先,将图片剪裁为需要的大小(比如剪裁掉图片中的空白部分)。这个代码直接将剪裁后的图片代替了原来的图片,如果想要存到不同的文件夹,需要将存储时的文件夹位置改变。
其中,box1 = (0, 0, 1350, 1074) 表示剪裁后左边框离原图左边的距离、上边框离原图上边的距离、右边框离原图左边的距离、下边框离原图上边的距离,这个距离可以根据img.size打印出的图片大小来自己衡量剪裁多少。

# coding: utf-8
from PIL import Image
import os
import os.path
import numpy as np# 指明被遍历的文件夹
rootdir = r'D:\four\'
for parent, dirnames, filenames in os.walk(rootdir):  # 遍历每一张图片for filename in filenames:print('parent is :' + parent)print('filename is :' + filename)currentPath = os.path.join(parent, filename)print('the fulll name of the file is :' + currentPath)img = Image.open(currentPath)print(img.format, img.size, img.mode)box1 = (0, 0, 1350, 1074)  # 设置左、上、右、下的坐标image1 = img.crop(box1)  # 图像裁剪#image1.show()image1.save(r"D:\four" + '\\' + filename)  # 存储裁剪得到的图像

然后,将两个文件夹中的不同图片一一对应拼接。比如第一个文件夹中的第一张与第二个文件夹中的第一张图片拼接。

from os import listdir
from PIL import Image
import os.pathdef pinjie():rootdir1 = r'D:\four\多图片文件夹1'rootdir2 = r'D:\four\多图片文件夹2'  path1=[]  #存放图片路径path2=[]for parent, dirnames, filenames in os.walk(rootdir1):  # 遍历每一张图片for filename in filenames:# print(filename)currentPath = os.path.join(parent, filename)path1.append(currentPath)for parent, dirnames, filenames in os.walk(rootdir2):  # 遍历每一张图片for filename in filenames:# print(filename)currentPath = os.path.join(parent, filename)path2.append(currentPath)print(path1)print(path2)for i in range(0, 36):#这个范围是你要做拼接的次数。currentPath1 = path1[i]currentPath2 = path2[i] img1 = Image.open(currentPath1)img2 = Image.open(currentPath2)width, height = img1.size# print(width,height)# # 创建空白长图result = Image.new(img1.mode, (width*2, height))result.paste(img2, box=(0,0)) #把图片2的左上角位置粘到(0,0)的位置result.paste(img1, box=(1350,0)) #图片1的左上角位置粘到(图片2的宽度,0)的位置# result.show()# 保存图片 result.save(r"D:\four\%d.png"%i)if __name__ == '__main__':pinjie()

于是,实现了中国地图与世界地图的拼接.


+

=完成后:

python批处理进行剪裁图片与图片拼接相关推荐

  1. python批处理将图片进行放大实例代码

    最近处理一些规格不一的照片,需要修改成指定尺寸便于打印,本篇文章主要给大伙介绍关于Python批量处理将图片进行放大的相关资料,文中通过实例代码介绍的非常详细,需要的伙伴们可以参考下. python批 ...

  2. python opencv通过4个坐标,剪裁图片(抠图)

    一.opencv 裁剪说明 效果展示,要裁剪的图片 裁剪出的单词图像(如下) 这里程序我是用在paddleOCR里面,通过识别模型将识别出的图根据程序提供的坐标(即四个顶点的值)进行抠图的程序(上面的 ...

  3. Python实现批量压缩图片

    Python实现批量压缩图片 本文为大家分享了Python实现批量压缩图片的具体代码,供大家参考,具体内容如下 # -*- coding: utf-8 -*- """ _ ...

  4. python ffmpeg 视频转图片 视频转音频 播放音频 多张图片+音频转视频 多个视频合成一个视频 改变视频播放速度

    文章目录 视频转图片 视频转音频 播放音频 图片+音频 转 视频 多个视频合成一个视频 改变视频播放速度 视频转图片 #!/usr/bin/env python # -*- encoding: utf ...

  5. python怎么加载图片-怎样用python加载dicom图片

    用python加载dicom图片的方法:使用pydicom.CV2.numpy.matplotlib等库即可.pydicom库是专门用来处理dicom图像的python专用库. python读取DIC ...

  6. Python 小把戏之图片转字符串

    Python 小把戏之图片转字符串 #! /usr/bin/python3 # -*- coding: UTF-8 -*-from PIL import Image import argparse i ...

  7. python 等比例缩放图片 自写

    Python等比例缩放图片 使用了 OpenCV 进行图片的读取 输入:利用 cv2.imread 函数读取的 Mat 矩阵 输出:缩放后的 Mat 矩阵(示例代码为缩放到 512x512 大小,也可 ...

  8. python两条曲线图片相似度_Python比较两个图片相似度的方法

    本文实例讲述了Python比较两个图片相似度的方法.分享给大家供大家参考.具体分析如下: 这段代码实用pil模块比较两个图片的相似度,根据实际实用,代码虽短但效果不错,还是非常靠谱的,前提是图片要大一 ...

  9. 利用python进行识别相似图片(二)

    前言 和网上各种首先你要有一个女朋友的系列一样,想进行人脸判断,首先要有脸, 只要能靠确定人脸的位置,那么进行两张人脸是否相似的操作便迎刃而解了. 所以本篇文章着重讲述如何利用openCV定位人脸. ...

最新文章

  1. 漫画 | 如何向外行解释产品经理频繁更改需求会令程序员很焦灼?
  2. 汇编实验 用表格形式显示字符(附源码详细注释和相关注意的知识)
  3. HTTP 共享打印机
  4. 华为面试改革,你怎么看?
  5. java读取excel2010文件_java如何读写excel2010
  6. 008 RestFul API 拦截器
  7. 付费社群聊天小程序V1.4.5+前端
  8. Dataframe 新增一列, apply 通用方法
  9. TensorFlow 2.0要来了,tf.contrib要砍了 | 有什么意见你说啊
  10. python批处理代码_Python文件夹批处理操作代码实例
  11. git常用命令(史上最经典)
  12. 字符串API中的split,substr,substring
  13. 在线广告系统的架构变迁
  14. 图扑 Web 可视化引擎在仿真分析领域的应用
  15. okvis 基于关键帧视觉惯性传感器非线性优化SLAM 论文翻译+博客总结
  16. ESP8266便携式物联网时钟(硬件篇) 代号:喵
  17. 【资源记录】各个历史版本 cuda toolkit 下载链接
  18. 时间戳转时间精确到毫秒
  19. 三菱FX系列PLC以太网连接杰控FameView
  20. 经常听别人说安全测试很重要,然鹅你并不了解?一文带你了解全貌

热门文章

  1. Android 12源码编译报错:FAILED: out/soong/build.ninja
  2. 《Pro ASP.NET MVC 3 Framework》英文原版教材个人勘误
  3. opencv-图像金字塔
  4. c语言switch判断字母,判断switch 语句 - C语言教程
  5. 【云服务月刊】2018年第6期:阿里云MVP第五期发布,这么多行业大牛你Pick哪一个?...
  6. Signal Tab使用指南
  7. urllib3.exceptions.MaxRetryError: HTTPConnectionPool(host=‘localhost‘, port=8097): Max retries excee
  8. GIT命令操作全攻略,请收下我的膝盖!
  9. 基于51单片机出租车计价器(霍尔测速)
  10. 8口交换机方案-RTL8309N(含原理图和PCB)