本文实例讲述了Python实现PS滤镜中马赛克效果。分享给大家供大家参考,具体如下:
这里利用 Python 实现PS 滤镜中的马赛克效果,具体的算法原理和效果可以参考附录说明,Python示例代码如下:
from skimage import img_as_float import matplotlib.pyplot as plt from skimage import io import random import numpy as np file_name='D:/Visual Effects/PS Algorithm/4.jpg'; img=io.imread(file_name) img = img_as_float(img) img_out = img.copy() row, col, channel = img.shape half_patch =10 for i in range(half_patch, row-1-half_patch, half_patch): for j in range (half_patch, col-1-half_patch, half_patch): k1 = random.random() - 0.5 k2 = random.random() - 0.5 m=np.floor(k1*(half_patch*2 + 1)) n=np.floor(k2*(half_patch*2 + 1)) h=int((i+m) % row) w=int((j+n) % col) img_out[i-half_patch:i+half_patch, j-half_patch:j+half_patch, :] = img[h, w, :] plt.figure(1) plt.imshow(img) plt.axis('off') plt.figure(2) plt.imshow(img_out) plt.axis('off') plt.show()
附:PS 滤镜算法原理 ——马赛克
% method : 利用邻域的任意一点代替当前邻域所有像素点 %%%% mosaic clc; clear all; addpath('E:\PhotoShop Algortihm\Image Processing\PS Algorithm'); Image=imread('4.jpg'); Image=double(Image); size_info=size(Image); height=size_info(1); width=size_info(2); N=11; % 控制邻域大小 Image_out=Image; for i=1+N:N:height-N for j=1+N:N:width-N k1=rand()-0.5; k2=rand()-0.5; m=(k1*(N*2-1)); n=(k2*(N*2-1)); h=floor(mod(i+m,height)); w=floor(mod(j+n,width)); if w==0; w=width; end if h==0 h=height; end Image_out(i-N:i+N,j-N:j+N,1)=Image(h,w,1); Image_out(i-N:i+N,j-N:j+N,2)=Image(h,w,2); Image_out(i-N:i+N,j-N:j+N,3)=Image(h,w,3); end end imshow(Image_out/255);
原图
效果图
更多关于Python相关内容感兴趣的读者可查看本站专题:《Python图片操作技巧总结》、《Python数据结构与算法教程》、《Python Socket编程技巧总结》、《Python函数使用技巧总结》、《Python字符串操作技巧汇总》、《Python入门与进阶经典教程》及《Python文件与目录操作技巧汇总》
希望本文所述对大家Python程序设计有所帮助。
Python,PS,滤镜,马赛克
免责声明:本站文章均来自网站采集或用户投稿,网站不提供任何软件下载或自行开发的软件! 如有用户或公司发现本站内容信息存在侵权行为,请邮件告知! 858582#qq.com
《魔兽世界》大逃杀!60人新游玩模式《强袭风暴》3月21日上线
暴雪近日发布了《魔兽世界》10.2.6 更新内容,新游玩模式《强袭风暴》即将于3月21 日在亚服上线,届时玩家将前往阿拉希高地展开一场 60 人大逃杀对战。
艾泽拉斯的冒险者已经征服了艾泽拉斯的大地及遥远的彼岸。他们在对抗世界上最致命的敌人时展现出过人的手腕,并且成功阻止终结宇宙等级的威胁。当他们在为即将于《魔兽世界》资料片《地心之战》中来袭的萨拉塔斯势力做战斗准备时,他们还需要在熟悉的阿拉希高地面对一个全新的敌人──那就是彼此。在《巨龙崛起》10.2.6 更新的《强袭风暴》中,玩家将会进入一个全新的海盗主题大逃杀式限时活动,其中包含极高的风险和史诗级的奖励。
《强袭风暴》不是普通的战场,作为一个独立于主游戏之外的活动,玩家可以用大逃杀的风格来体验《魔兽世界》,不分职业、不分装备(除了你在赛局中捡到的),光是技巧和战略的强弱之分就能决定出谁才是能坚持到最后的赢家。本次活动将会开放单人和双人模式,玩家在加入海盗主题的预赛大厅区域前,可以从强袭风暴角色画面新增好友。游玩游戏将可以累计名望轨迹,《巨龙崛起》和《魔兽世界:巫妖王之怒 经典版》的玩家都可以获得奖励。