zoukankan      html  css  js  c++  java
  • 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 是控制图片颜色主要参数。

  • 相关阅读:
    广告效果滚动
    判断背景图片是否加载成功
    css3创建多边形clip属性,可用来绘制不规则图形了
    不允许用户选中文本的两种方法
    栈类模板设计及应用
    HDOJ 题目类型
    极大团数量模板
    HDU 1522 Marriage is Stable 稳定婚姻匹配
    字符串类设计与应用
    正向与反向拓扑排序的区别(hdu 1285 确定比赛名次和hdu 4857 逃生)
  • 原文地址:https://www.cnblogs.com/lingdurebing/p/ldrb-python.html
Copyright © 2011-2022 走看看