最新的有趣开源,Python制作抖音特有的重影彩色图片!

版权声明:禁止转载至其它平台,转载至博客需带上此文链接。 https://blog.csdn.net/qq_41841569/article/details/86064029

最新的有趣开源,Python制作抖音特有的重影彩色图片!

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

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

最新的有趣开源,Python制作抖音特有的重影彩色图片!

当总结写的假的好么?

最新的有趣开源,Python制作抖音特有的重影彩色图片!

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

 功能1:批量下载图片

扫描二维码关注公众号,回复: 4863465 查看本文章

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

 #!/usr/bin/env python 
# -*- coding: utf-8 -*- 
# @Time : 2018/11/15 19:40 
# @Author : Empirefree 
# @File : 2.py 
# @Software: PyCharm Community Edition
import copy
import os
import argparse
import re
import numpy as np
from urllib import request
from PIL import Image
import requests
from lxml import etree
#显示下载数据块
def cbk(a,b,c):
 '''回调函数
 @a:已经下载的数据块
 @b:数据块的大小
 @c:远程文件的大小
 '''
 per=100.0*a*b/c
 if per>100:
 per=100
 print('%.2f%%' % per)
def Download():
 user_agent = 'Mozilla/4.0 (compatible; MSIE 5.5; Windows NT)'
 headers = {
 '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'}
 response = requests.get('http://www.ivsky.com/tupian/ziranfengguang/', headers=headers)
 # 使用lxml解析网页
 html = etree.HTML(response.text)
 img_urls = html.xpath('.//img/@src') # 先找到所有的img
 i = 0
 for img_url in img_urls:
 request.urlretrieve(img_url, 'image' + str(i) + '.jpg', cbk)
 i += 1
 print('已成功保存为/image[].jpg')
 print('下载完成!!!')
def main(imagepath):
 #将图片转换为三维数组
 img = Image.open(imagepath)
 img_arr = np.array(img)
 #提取R
 img_arr_r = copy.deepcopy(img_arr)
 img_arr_r[:, :, 1:3] = 0
 #提取GB
 img_arr_gb = copy.deepcopy(img_arr)
 img_arr_gb[:, :, 0] = 0
 #创建画布并将图片错放开
 img_r = Image.fromarray(img_arr_r).convert('RGBA')
 img_gb = Image.fromarray(img_arr_gb).convert('RGBA')
 canvas_r = Image.new('RGB', img.size, color=(0, 0, 0))
 canvas_gb = Image.new('RGB', img.size, color=(0, 0, 0))
 canvas_r.paste(img_r, (6, 6), img_r)
 canvas_gb.paste(img_gb, (0, 0), img_gb)
 img_douyin = Image.fromarray(np.array(canvas_gb) + np.array(canvas_r))
 img_douyin.save('douyin.jpg')
 img_douyin.show()
def IsHttp(imagepath):
 if re.search('http', imagepath) != None:
 return 1
 else:
 return 0
if __name__ == '__main__':
 # parser = argparse.ArgumentParser()
 # parser.add_argument('-i', '--image', help='Image to be processed(give the file path).')
 # args = parser.parse_args()
 # main(args.image)
 while(1):
 print('温馨提示(您目前文件路径为):',os.path.dirname(os.path.realpath(__file__)))
 fun = int(input('请输入您想选择的功能:[1]批量下载图片 [2]制作抖音图片
'))
 if fun == 1:
 Download()
 else:
 imagepath = input('请输入您的图片路径: ')
 if IsHttp(imagepath):
 request.urlretrieve(imagepath, 'background.jpg') #下载图片
 imagepath = os.path.abspath('background.jpg')
 main(imagepath)
 print('加载完毕.......')

抖音图片2.0

实现目标(如下所示):

最新的有趣开源,Python制作抖音特有的重影彩色图片!

实现效果:

最新的有趣开源,Python制作抖音特有的重影彩色图片!

代码分析:

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()

猜你喜欢

转载自blog.csdn.net/qq_41841569/article/details/86064029