Python-制作抖音图片

Posted Empirefree

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Python-制作抖音图片相关的知识,希望对你有一定的参考价值。

 

-------------------------------------------------------------------------------------------------------------二更-------------------------------------------------------------------------------------------------------------

 

   灵光一闪,这么简单的东西为什么我蠢了???

  

 request.urlretrieve(img_url, \'background.jpg\')

  当总结写的假的好么?

         

  然后更改了一下,现在是可以

  功能1:批量下载图片

     功能2:转化为抖音图片(无论提交外链或者本地图片)

  

 1 #!/usr/bin/env python 
 2 # -*- coding: utf-8 -*- 
 3 # @Time : 2018/11/15 19:40 
 4 # @Author : Empirefree 
 5 # @File : 2.py 
 6 # @Software: PyCharm Community Edition
 7 import copy
 8 import os
 9 import argparse
10 import re
11 import numpy as np
12 from urllib import request
13 from PIL import Image
14 import requests
15 from lxml import etree
16 
17 #显示下载数据块
18 def cbk(a,b,c):
19     \'\'\'回调函数
20     @a:已经下载的数据块
21     @b:数据块的大小
22     @c:远程文件的大小
23     \'\'\'
24     per=100.0*a*b/c
25     if per>100:
26         per=100
27     print(\'%.2f%%\' % per)
28 
29 
30 def Download():
31     user_agent = \'Mozilla/4.0 (compatible; MSIE 5.5; Windows NT)\'
32     headers = {
33         \'User-Agent\': \'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_12_3) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/58.0.3029.110 Safari/537.36\'}
34     response = requests.get(\'http://www.ivsky.com/tupian/ziranfengguang/\', headers=headers)
35     # 使用lxml解析网页
36     html = etree.HTML(response.text)
37     img_urls = html.xpath(\'.//img/@src\')  # 先找到所有的img
38 
39     i = 0
40     for img_url in img_urls:
41         request.urlretrieve(img_url, \'image\' + str(i) + \'.jpg\', cbk)
42         i += 1
43     print(\'已成功保存为/image[].jpg\')
44     print(\'下载完成!!!\')
45 
46 def main(imagepath):
47     #将图片转换为三维数组
48     img = Image.open(imagepath)
49     img_arr = np.array(img)
50     #提取R
51     img_arr_r = copy.deepcopy(img_arr)
52     img_arr_r[:, :, 1:3] = 0
53     #提取GB
54     img_arr_gb = copy.deepcopy(img_arr)
55     img_arr_gb[:, :, 0] = 0
56     #创建画布并将图片错放开
57     img_r = Image.fromarray(img_arr_r).convert(\'RGBA\')
58     img_gb = Image.fromarray(img_arr_gb).convert(\'RGBA\')
59     canvas_r = Image.new(\'RGB\', img.size, color=(0, 0, 0))
60     canvas_gb = Image.new(\'RGB\', img.size, color=(0, 0, 0))
61     canvas_r.paste(img_r, (6, 6), img_r)
62     canvas_gb.paste(img_gb, (0, 0), img_gb)
63     img_douyin = Image.fromarray(np.array(canvas_gb) + np.array(canvas_r))
64     img_douyin.save(\'douyin.jpg\')
65     img_douyin.show()
66 
67 def IsHttp(imagepath):
68     if re.search(\'http\', imagepath) != None:
69         return 1
70     else:
71         return 0
72 
73 if __name__ == \'__main__\':
74     # parser = argparse.ArgumentParser()
75     # parser.add_argument(\'-i\', \'--image\', help=\'Image to be processed(give the file path).\')
76     # args = parser.parse_args()
77     # main(args.image)
78     print(\'**************************************************************************\')
79     print(\'*****************!!!欢迎使用抖音图片加载助手!!!*************************\')
80     print(\'*****************作者:Empirefree                    *********************\')
81     print(\'*****************工具: Pycharm                       *********************\')
82     print(\'*****************时间: 2018/10/23 18:49               ********************\')
83     print(\'**************************************************************************\')
84     while(1):
85         print(\'温馨提示(您目前文件路径为):\',os.path.dirname(os.path.realpath(__file__)))
86         fun = int(input(\'请输入您想选择的功能:[1]批量下载图片        [2]制作抖音图片\\n\'))
87         if fun == 1:
88             Download()
89         else:
90             imagepath = input(\'请输入您的图片路径: \')
91             if IsHttp(imagepath):
92                 request.urlretrieve(imagepath, \'background.jpg\')    #下载图片
93                 imagepath = os.path.abspath(\'background.jpg\')
94             main(imagepath)
95             print(\'加载完毕.......\')
抖音图片2.0

 

 

 

实验帮助:

  文章末尾有免费源代码、图片和实现的exe供下载,本人博客www.empirefree.top

实现环境:

  python3.6+pycharm(pip什么的自己看错误就可以搞出来了)

实现目标(如下所示):

 

            

实现效果:

 

 

  代码分析:

    1、将图片转换成三维数组,然后对于rgb()这三种颜色提取

    2、Rgb(255, 0, 0) 和Rgb(0, 255, 255)位置改变一下()然后就会有像素错位的效果

     1 canvas_r.paste(img_r, (6, 6), img_r) 

    3.然后单纯保存,显示图片即可

     1 img_douyin.save(\'douyin.jpg\') 2 img_douyin.show() 

  总结:读者有兴趣可以改变一下外链,我弄图片外链好像爬不下来,太弱了吧,思路就是提交图片外链,然后如果判断是外链就下载到本地,然后再利用本程序改变图片样例,这里你看到喜欢的图片想制作就都可以了,本程序只能搞本地有的图片,很难受,我好菜啊!!!!

分享链接: https://pan.baidu.com/s/19V8cFYQe12h8oiP5E9lk8A 提取码: g8be

以上是关于Python-制作抖音图片的主要内容,如果未能解决你的问题,请参考以下文章

装逼篇 | Python制作抖音超火的九宫格视频

MATLAB 制作抖音同款 立体人物文字海报

抖音图片视频切换转场特效制作

请教下制作抖音纯文字图片视频还有一边讲话配音要用到哪些软件?

MATLAB 制作抖音同款旋转星空海报图

MATLAB 制作抖音同款故障风海报