1000张图片如何拼接

作者: 向右奔跑 | 来源:发表于2017-02-09 19:32 被阅读3370次

1000张+图片怎样拼接在一起,当然不能靠PS,也不能用美图秀秀,必须是编程来实现,而且一定要用Python。

用的是第三方库 PIL , 官方文档 http://effbot.org/imagingbook/

The Python Imaging Library (PIL) adds image processing capabilities to your Python interpreter. This library supports many file formats, and provides powerful image processing and graphics capabilities.

PIL已经是Python平台事实上的图像处理标准库。PIL功能强大,简单易用。

Image 类是 PIL 库中一个非常重要的类,通过这个类来创建实例可以有直接载入图像文件,读取处理过的图像。

还是看看我要实现的N张图片的拼接,怎么做?
基本的操作就是创建一张图片,把要拼接的图片读取进来,顺序贴(paste)到创建的这张图中。

以下是Image类几个最常用的方法。

new('RGBA', (x,y))

创建一张图片,默认是黑色的。可以修改参数。

image = Image.new('RGB', (width, height), (255, 255, 255))

open(filename) , save(outfilename)

open(filename) 打开一个图片文件把图片读进来。save(outfilename)保存图片。

resize(size,size)

调整图片大小(缩放图片)。近2000张图片,先要缩小一下。

paste(fromImage,where)

把图片贴进来,坐标系,左上角是(0,0)

完整代码:

# -*- coding:utf-8 -*-
# 图片拼接
import PIL.Image as Image
import os, sys

mw = 133 # 图片大小+图片间隔
ms = 5 

msize = mw * ms


fpre = "x" #图片前缀
toImage = Image.new('RGBA', (msize, msize))

for y in range(1, 6):  ## 先试一下 拼一个5*5 的图片
    for x in range(1, 6):
        
        # 之前保存的图片是顺序命名的,x_1.jpg, x_2.jpg ...
        fname = "x_%s.jpg" % (ms*(y-1)+x)

        fromImage = Image.open(fname)
        #fromImage =fromImage.resize((mw, mw), Image.ANTIALIAS)   # 先拼的图片不多,不用缩小
       
        toImage.paste(fromImage, ((x-1) * mw, (y-1) * mw))

toImage.save('/Users/apple/Desktop/toimg/toImage_0.jpg')

为了防止密集恐怖,我随(jing)机(xin)选了25张来拼接。你们看看我的朋友圈颜值如何。


PS: 你一定好奇,这些图片是怎么来的,当然不是一张一张手动保存下来。对,是Python爬虫。还有什么有趣的微信朋友圈数据,敬请期待。

相关文章

  • 使用ffmpeg将图片拼接为视频

    本文介绍下如何使用ffmpeg将大量图片拼接成一个视频,并介绍其中部分参数的含义。 使用ffmpeg将图片拼接成视...

  • Python-PIL-拼接图片

    最近学习了PIL,主要学习的是如何把当前目录下的图片拼接在一起,以下仅仅是拼接图片的学习笔记: 一、学习的网址: ...

  • 图片拼接

  • 图片拼接

    拼接两张图片分为两种情况,两者宽度相同和两者宽度不同 两者宽度相同 两者宽度不相同 缩放操作 附上整个代码:

  • 图片拼接

    图片拼接小工具,帮助你简单快速拼接长图~

  • 1000张图片如何拼接

    1000张+图片怎样拼接在一起,当然不能靠PS,也不能用美图秀秀,必须是编程来实现,而且一定要用Python。 用...

  • iOS UIImage图片拼接性能对比

    前言 这篇主要来介绍图片拼接,封装多种拼接方式供使用 多种图片水平和竖直拼接 更多好玩的拼接方式,大致包含平铺、两...

  • canvas图片拼接(横向)

    canvas图片拼接(横向) 之前的工作中遇到的拼接图片问题,于是写了这个图片拼接。大家一起看看吧! 毫无疑问,这...

  • 图片拼接-python

    注:aa.jpg - 第一张图片code.png - 成品图

  • Retrofit2 提交多少图片

    多张不确定图片 主要的是字符拼接部份 单张图片

网友评论

  • c5209dca0891:博主什么时候写个这种框架出来就牛逼:smile:
  • 我叫钱小钱:支持老师
  • 醒着z:all.jpg(生成图片)右侧有黑边,处女座不能忍啊,我检查了代码也没发现问题,博主有发现这个情况吗
    醒着z:@醒着z 好巧,我也是:unamused:
    醒着z:我也出现这种情况了:cry:
  • Oct1a:能不能用图片拼接成头像或文字?
    向右奔跑:这个不太好处理,手动比较合适。反过来可以 http://www.jianshu.com/p/4fb27471295f
  • 刺鸟开源:为啥我就觉得很有用。首先我会想到长图,手机淘宝的那种
  • 一起手机摄影:这是个高级神技,我有点看不懂😢
  • justZero:还是银桑最帅
  • 罗罗攀:可以做点图像处理方面的,:smiley:
  • 6bf4671977ce:我的哥 拼接这些图片有啥用
    刘英滕:@向右奔跑 完全没有用哈哈哈哈
    向右奔跑: @噢瑞利 完全没有用😄,除了放到朋友圈他们能互相看一眼

本文标题:1000张图片如何拼接

本文链接:https://www.haomeiwen.com/subject/enjwittx.html