马赛克效果测试程序.py

python马赛克程序mozaic.py

python马赛克程序mozaic.py

"""
   马赛克效果测试程序.py
   mozaic.py
"""
import numpy as np
from PIL import Image

def mozaic(im,k):
    k = 1/k
    w,h = im.size
    new_w,new_h = int(w*k),int(h*k)
    new_w = max(1,new_w)
    new_h = max(1,new_h)
    rows = h//new_h                    # 行数
    cols = w//new_w                    # 列数
    if cols>1:
        im_small = im.resize((new_w,new_h))# 小图像
        im_small = np.array(im_small)
        
        # 水平连接
        arrh = np.hstack((im_small, im_small))
        for _ in range(cols-2):
            arrh = np.hstack((arrh, im_small))
            
        arrv = np.vstack((arrh, arrh))
        for _ in range(rows-2):
            arrv = np.vstack((arrv, arrh))
        return Image.fromarray(arrv)
    else:
        return im
        
    
mozaic(Image.open("c:/nvtaiji.png"),10).save('c:/马赛克.png')

关于李兴球

李兴球的博客是Python创意编程原创博客
此条目发表在numpy, pillow, python分类目录,贴了, 标签。将固定链接加入收藏夹。

发表回复