最近在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 是控制图片颜色主要参数。