python画超长图-Python 拼接多张尺寸大小不一样的图片制作长图
from os import listdir
from PIL import Image
# 获取当前文件夹下所以图片
ims = [Image.open('../images/%s' % fn) for fn in listdir('../images') if fn.endswith('.jpg')]
ims_size = [list(im.size) for im in ims]
middle_width = sorted(ims_size, key=lambda im: im[0])[int(len(ims_size)/2)][0] # 中位数宽度
ims = [im for im in ims if im.size[0] > middle_width/2] # 过滤宽度过小的无效图片
# 过滤后重新计算
ims_size = [list(im.size) for im in ims]
middle_width = sorted(ims_size, key=lambda im: im[0])[int(len(ims_size)/2)][0] # 中位数宽度
ims = [im for im in ims if im.size[0] > middle_width/2] # 过滤宽度过小的无效图片
# 计算相对长图目标宽度尺寸
for i in range(len(ims_size)):
rate = middle_width/ims_size[i][0]
ims_size[i][0] = middle_width
ims_size[i][1] = int(rate*ims_size[i][1])
sum_height = sum([im[1] for im in ims_size])
# 创建空白长图
result = Image.new(ims[0].mode, (middle_width, sum_height))
# 拼接
top = 0
for i, im in enumerate(ims):
mew_im = im.resize(ims_size[i], Image.ANTIALIAS) # 等比缩放
result.paste(mew_im, box=(0, top))
top += ims_size[i][1]
# 保存
result.save('result.png')
效果展示:
原图片:
拼接结果:缩放状态
python画超长图-Python 拼接多张尺寸大小不一样的图片制作长图相关推荐
- python实现图片拼接长图_Python 拼接多张尺寸大小不一样的图片制作长图
from os import listdir from PIL import Image # 获取当前文件夹下所以图片 ims = [Image.open('../images/%s' % fn) f ...
- Python 拼接多张尺寸大小不一样的图片制作长图
from os import listdir from PIL import Image# 获取当前文件夹下所以图片 ims = [Image.open('../images/%s' % fn) fo ...
- python画超长图-python 画长图
广告关闭 腾讯云双11爆品提前享,精选热门产品助力上云,云服务器首年88元起,买的越多返的越多,最高满返5000元! 最近遇到个任务需要画一些坐标图,我就在想,用了这么长时间的 python 了,能不 ...
- python画超长图-利用Python画图,千变万化,各种画图技巧!
如图所示,利用Python的turtle画了一个美国队长盾牌的标志: # 所需依赖:python3 sublime Python代码: # print 打印 print('hello world!') ...
- python画简单图片-Python绘制“高颜值”桑基图
请看以下图片: 相信许多小伙伴第一眼就会被它美丽的外表所吸引,由此引发一连串的惊叹: "这个图叫什么???" "这个图真好看!!!怎么画啊?" 为了满足大家的好 ...
- python画三维平面-Python 绘制酷炫的三维图步骤详解
通常我们用 Python 绘制的都是二维平面图,但有时也需要绘制三维场景图,比如像下面这样的: 这些图怎么做出来呢?今天就来分享下如何一步步绘制出三维矢量(SVG)图. 八面体 我们先以下面这个八面体 ...
- python画三维立体图-Python 竟能绘制出如此酷炫的三维图
原标题:Python 竟能绘制出如此酷炫的三维图 通常我们用 Python 绘制的都是二维平面图,但有时也需要绘制三维场景图,比如像下面这样的: 这些图怎么做出来呢?今天就来分享下如何一步步绘制出三维 ...
- 用python画漂亮图片-Python 竟能绘制如此酷炫的三维图
通常我们用 Python 绘制的都是二维平面图,但有时也需要绘制三维场景图,比如像下面这样的: 这些图怎么做出来呢?今天就来分享下如何一步步绘制出三维矢量(SVG)图. 八面体 我们先以下面这个八面体 ...
- python画曲线图例-Python数据可视化之Matplotlib(折线图)
一.使用Matplotlib生成数据图:是Python上的一个2D绘图库,它可以在跨平台上边出很多高质量的图像. 1.Pycharm安装Matplotlib库 (1)点击菜单上的"file& ...
最新文章
- 使用CSS实现三栏自适应布局(两边宽度固定,中间自适应)
- 要嫁就嫁程序员!原因很简单:五成表示工资愿交给另一半!
- Concert Tour(Uvalive 6853)
- Containerd迎来1.0通用版本
- android 串口一直打开_实例 | 使用Python串口实时显示数据并绘图
- 谷歌浏览器出现“远程计算机访问失败问题”
- windows下安装和使用scrapy
- python网络编程之 一 socket(套接字)
- (转)SpringMVC学习(六)——SpringMVC高级参数绑定与@RequestMapping注解
- 大数据、物联网、区块链:融合趋势三重奏的好处
- 没钱发工资?当着董事长总经理是好玩的,不用负责?
- (转)OPEC神秘的“朋友圈”:全球最大原油对冲基金掌门人安杜兰
- 论文阅读:Deep forest/深度森林/gcForest
- m4s格式转换mp3_高质量音频转换器,如何转换成mp3音频格式
- 爬虫基础以及Xpath、Beautiful Soup的应用
- ROS Base path和Source space不一致问题,修改文件名后无法make问题,catkin_make报错问题
- mPass 微服务开发平台
- idea重置插件的使用
- Excel VBA合并不同工作簿所有工作表到一张工作表
- 熬夜的T哥们T姐们注意了
热门文章
- Linux进程地址空间探究
- open cv+C++错误及经验总结(十二)
- SQL SERVER-Extendevent检测TempDB增长
- 【Thinkphp5+Ueditor】Thinkphp5中用Ueditor无法获取内容的问题
- 视觉slam十四讲课后习题ch3--5题
- CMap的使用(转)
- 每天CookBook之Python-004
- QT解析嵌套JSON表达式
- session_cache_limiter(private,must-revalidate)是什么意思
- Bailian2941 Bailian3225 满足条件的整数【枚举+开方】