python画图保存图像,python 全景拼接
Python是一种面向对象的解释器计算机编程语言,由荷兰人bzdyl van Rossum于1989年发明。因为Python的定位是“优雅”、“明确”、“简单”,所以Python程序看起来总是通俗易懂。初学者学习Python不仅入门容易,而且如果以后深入挖掘的话也非常容易写下来。
今天就开始分享python知识吧。
本文介绍了Python如何将多个图像拼接在一起。分享出来供大家参考。具体分析如下:
这里描述的计划实现了以下操作:
用Latex写博文原文生成PDF文档。
将PDF转换为高清png格式图像
将各种PNG格式的图像合并成一个大图像。
将最终的大图直接上传到博文编辑器。
那么,把PDF文档转换成其他图像格式怎么样?建议使用windowns上的Adobe Acrobat X Pro软件来完成此操作。以下两个图显示了这些步骤。注意,在图2中,您必须自己指定分辨率。没有必要自动指定。否则,生成的图像大小会有所不同。我试了很多次,发现分辨率太大,放大的图片很清晰,但是贴在博文上还是需要调整大小。选择“59.06像素/cm”非常合适。需要注意的是,博客的主题应该是一个更宽的页面。不然贴图不好看。
在Adobe Acrobat X Pro中将PDF文档保存为图像时,会在PDF文档所在的目录下生成一系列图像:PDF filename _ page _ xx.png。我们的下一个任务是将这些图像合并成一个图像。我选择了Python这个功能强大又方便的工具来完成这个任务。一开始用的是matplotlib库,但是最后发现matplotlib中的函数(Image.imsave) (pyplot.imsave)也有一定的局限性。也就是说,图像的长度和宽度不会超过32768。我对这个限制不满意。当我继续尝试其他图书馆的图像处理时,PIL图书馆没有这种限制,问题就解决了。在以下Python代码中,所有默认图像对应的顺序是文件名末尾数字的升序,数字可能不连续。可以处理的图像名称为xx_1.png. xx_100.png或xx _ 100.png。最后一小段Python代码如下。
演示代码如下:
#!/usr/忧心忡忡的蚂蚁/python3
#编码=utf-8
进口编号为NP
从pil导入图像
导入全球操作系统
if __name__==__main__ :
前缀=输入(inputtheprefixofimages:)
files=glob.glob(前缀 _* )
Num=len(文件)
filename _ lens=[len(x for x in files]#文件的长度
min _ len=min(filename _ lens)#文件名的最小长度
max _ len=max(filename _ lens)#文件名的最大长度
if min _ len==max _ len:# thelastnumberofeachfilename hasthesamelength
files=sorted(files)#按升序对文件进行排序
else 3360 # maybethefilenamesare是:x _0。png。10.png x。100.png x
index=[0forxinrange(num ) ]
forIinrange(数字) :
filename=files[i]
start=filename.rfind(_") 1
end=filename.rfind( . )
file _ no=int(文件名[开始:结束])
index[I]=文件编号
索引=已排序(索引)
files=[前缀 _str(x)。索引中x的png
打印(文件(0))))))))))))。
baseimg=image.open(files[0]).
sz=baseimg.size
basemat=NP。至少_2d(基本)
forIinrange(1,num):
file=files[i]
im=image.open(文件)
im=im.resize(SZ,Image。抗锯齿).
mat=NP。至少_2d(即时消息)
是,打印(文件)
basemat=NP.append(basemat,mat,axis=0).
final _ img=image.from数组(基础mat)
final_img.save(merged.png))。
希望这篇文章能对大家的Python编程有所帮助。
那么,今天就到此为止。之后会有更多精彩的python内容分享给大家。
郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。