tiler--python实现的有趣的自定义马赛克图像拼接工具
最近在github中发现了一个有趣的小工具,tiler
github链接https://github.com/nuno-faria/tiler
具体介绍请直接去github,这里只分享一下它的使用方法。
需要安装的库在requirements.txt中
可以在cmd中定位到此文下直接使用命令
pip3 install -r requirement.txt安装所需要的库.
如果安装报timeout错误的话可以使用命令此(设置超时为30s)
pip3 install --timeout 30 -r requirements.txt
使用方法非常简单
打开文件夹下的conf.py文件
修改主要的三个参数
# out file name
OUT = 'out.png'
# image to tile (ignored if passed as the 1st arg)
IMAGE_TO_TILE = None
# folder with tiles (ignored if passed as the 2nd arg)
TILES_FOLDER = None
OUT是输出图片的文件名,可以为默认。
IMAGE_TO_TILE是需要自己修改的,输入图片路径不可以有中文字符,cv2无法打开此图片文件导致之后加载图片报错
TILES_FOLDER参数,是tiles文件夹下文件夹路径

TILES_FOLDER参数可以是此文件夹下的这些,当然你也可以自己添加一些。
不过要注意的是conf.py是py文件注意字符串要加' '或“ ”
例如:
TILES_FOLDER = "E:/workSpace/python_bug/tiler-master/tiles/times/gen_times"
测试了一下,我的电脑CPU 酷睿i5 7300U 8GB内存,输入命令运行程序
>python tiler.py
运行中内存占用比较高,原始图片1319x742像素

总共跑了大约1分钟。最终效果:

最终成品还是比较不错的。
测试图片(图片来自百度图片,侵删)

参数设置:
DEPTH = 4
# list of rotations, in degrees, to apply over the original image
ROTATIONS = [0] ############################# # TILER CONFS # number of colors per image
COLOR_DEPTH = 32
# tiles scales (1 = default resolution)
RESIZING_SCALES = [0.5,0.4.0.3,0.2,0.1]
# number of pixels shifted to create each box (tuple with (x,y))
# if value is None, shift will be done accordingly to tiles dimensions
PIXEL_SHIFT = (5,5)
# if tiles can overlap
OVERLAP_TILES = False
# render image as its being built
RENDER = False
# multiprocessing pool size
POOL_SIZE = 4 # out file name
OUT = 'min.png'
# image to tile (ignored if passed as the 1st arg)
IMAGE_TO_TILE = 'E:/workSpace/python_bug/tiler-master/in1.jpg'
# folder with tiles (ignored if passed as the 2nd arg)
TILES_FOLDER = "E:/workSpace/python_bug/tiler-master/tiles/minecraft"
生成效果

参数设置
# number of divisions per color (R, G and B)
# DEPTH = 4 -> 4 * 4 * 4 = 64 colors
DEPTH = 128
# list of rotations, in degrees, to apply over the original image
ROTATIONS = [0] ############################# # TILER CONFS # number of colors per image
COLOR_DEPTH = 128
# tiles scales (1 = default resolution)
RESIZING_SCALES = [0.1]
# number of pixels shifted to create each box (tuple with (x,y))
# if value is None, shift will be done accordingly to tiles dimensions
PIXEL_SHIFT = None
# if tiles can overlap
OVERLAP_TILES = False
# render image as its being built
RENDER = False
# multiprocessing pool size
POOL_SIZE = 4 # out file name
OUT = 'min2.png'
# image to tile (ignored if passed as the 1st arg)
IMAGE_TO_TILE = 'E:/workSpace/python_bug/tiler-master/in1.jpg'
# folder with tiles (ignored if passed as the 2nd arg)
TILES_FOLDER = "E:/workSpace/python_bug/tiler-master/tiles/minecraft"
生成效果

可以看出DEPTH,COLOR_DEPTH 是控制图片颜色主要参数。
tiler--python实现的有趣的自定义马赛克图像拼接工具的更多相关文章
- 这10个Python项目超有趣!
前言: Python可谓是现在很多人正在学或者想学的一个脚本语言了,提到学习自然就少不了拿项目练手,可是一般的项目根本提不起兴趣嘛,这10个项目可是非常有趣的,不信你看看. [Python 图片转字符 ...
- < python PIL - 批量图像处理 - 生成自定义大小图像 >
< python PIL - 批量图像处理 - 生成自定义大小图像 > 直接用python自带的PIL图像库,对一个文件夹下所有jpg/png的图像进行自定义像素变换 from PIL i ...
- python自动化测试(3)- 自动化框架及工具
python自动化测试(3) 自动化框架及工具 1 概述 手续的关于测试的方法论,都是建立在之前的文章里面提到的观点: 功能测试不建议做自动化 接口测试性价比最高 接口测试可以做自动化 后面所谈到 ...
- 自定义admin管理工具(stark组件)
自定义admin管理工具(stark组件) 创建项目 了解了admin的功能后,我们可以开始仿照admin编写我们自己的管理工具stark组件 首先创建一个新的项目,并创建三个app stark就是我 ...
- 学习Python要知道哪些重要的库和工具
本文转自:https://github.com/jobbole/awesome-python-cn 环境管理 管理 Python 版本和环境的工具 p:非常简单的交互式 python 版本管理工具. ...
- 终端的乐趣--Linux下有趣的终端命令或者工具【转】
转自:https://blog.csdn.net/gatieme/article/details/52144603 版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原 ...
- 用c#开发微信(5)自定义菜单设置工具 (在线创建)
读目录 1 使用 2 原理 3. 错误 上次写了<用c#开发微信 (4) 基于Senparc.Weixin框架的接收事件推送处理 (源码下载)>,有园友问到如何创建菜单的问题,今天就介绍下 ...
- python模块之lib2to3(py2转py3自动化工具)
# -*- coding: utf-8 -*- #python 27 #xiaodeng #python模块之lib2to3(py2转py3自动化工具) #http://tieba.baidu.com ...
- Python接口测试实战1(下)- 接口测试工具的使用
如有任何学习问题,可以添加作者微信:lockingfree 课程目录 Python接口测试实战1(上)- 接口测试理论 Python接口测试实战1(下)- 接口测试工具的使用 Python接口测试实战 ...
随机推荐
- PHPSTORM 2016.2 注册
1.由于 http://idea.qinxi1992.cn/ OR http://us.idea.lanyus.com/ 都已经被禁掉了,所以就不能再用License server 去注册了. 如图所 ...
- Linux 服务器 个人常用操作命令记录
1.实时查看log:tail -f 日志文件名 2.查看Apache运行的用户组或用户名:ps aux | grep httpd 或者是: ps -ef | grep httpd 3.查看cronta ...
- Ubuntu升级软件和ubuntu升级系统的命令
sudo apt-get update: 升级安装包相关的命令,刷新可安装的软件列表(但是不做任何实际的安装动作) sudo apt-get upgrade: 进行安装包的更新(软件版本的升级) su ...
- fiddler突然间抓不到包了
1.一直使用fiddler抓包,但是近几天fiddler突然间抓不到过滤地址的包了. 2.重装fiddler,未能解决. 3.设置取消浏览器的代理,未能解决. 4.关闭杀毒软件,未能解决. 5.换了火 ...
- for循环和字典预习
print("*" *8)for a in range(1,9): print(a,end="")#1-9的奇数print()for a in range(1, ...
- AIO 详解
AIO(Asynchronous Input and Output) 异步IO则采用"订阅-通知"模式: 即应用程序向操作系统注册IO监听,然后继续做自己的事情. 当操作系统发生I ...
- SpringBoot使用拦截器/ Servlet/ Filter
一.SpringBoot中使用拦截器 使用SpringMVC的拦截器,需要定义好拦截器,然后通过配置文件文件,对其进行注册 而在SpringBoot项目中,之前在配置文件中配置的内容,现在体现在一个类 ...
- day10 nfs服务,nginx负载均衡,定时任务
==================nginx 负载均衡==================== 实现nginx负载均衡的效果,并运用nfs服务共享目录,使所有nginx服务拥有共同的http目录 n ...
- 剑指Offer-14:输入一个链表,输出该链表中倒数第k个结点。
题目描述: 输入一个链表,输出该链表中倒数第k个结点.例如有一个链表有六个节点1,2,3,4,5,6.则它的倒数第二个节点为5 节点定义如下: public class ListNode { int ...
- angular2 组件内容嵌入(ng-content)
一.简介 内容嵌入是组件的一个高级功能特性,使用组件的内容嵌入特性能很好地扩充组件的功能,方便代码的复用. 二.用法 如上,在模版中使用了<ng-content>标签,这个标签就是用来渲染 ...