Python实现PS滤镜碎片特效功能示例


Posted in Python onJanuary 24, 2018

本文实例讲述了Python实现PS滤镜碎片特效功能。分享给大家供大家参考,具体如下:

这里用 Python 实现 PS 滤镜中的碎片特效,这个特效简单来说就是将图像在 上,下,左,右 四个方向做平移,然后将四个方向的平移的图像叠加起来做平均。具体的效果图与说明可参考附录说明

from skimage import img_as_float
import matplotlib.pyplot as plt
from skimage import io
file_name='D:/Visual Effects/PS Algorithm/4.jpg';
img=io.imread(file_name)
img = img_as_float(img)
img_1 = img.copy()
img_2 = img.copy()
img_3 = img.copy()
img_4 = img.copy()
img_out = img.copy()
Offset = 7
row, col, channel = img.shape
img_1[:, 0 : col-1-Offset, :] = img[:, Offset:col-1, :]
img_2[:, Offset:col-1, :] = img[:, 0 : col-1-Offset, :] 
img_3[0:row-1-Offset, :, :] = img[Offset:row-1, :, :]
img_4[Offset:row-1, :, :] = img[0:row-1-Offset, :, :]
img_out = (img_1 + img_2 + img_3 + img_4) / 4.0
plt.figure(1)
plt.imshow(img)
plt.axis('off');
plt.figure(2)
plt.imshow(img_out)
plt.axis('off');

附:PS 滤镜算法原理——碎片效果

%%% Fragment
%%% 对原图做四个方向的平移,然后对平移的结果取平均
%%% 碎片效果
clc;
clear all;
Image=imread('4.jpg');
Image=double(Image)/255;
[row,col,k]=size(Image);
Image1=Image;
Image2=Image;
Image3=Image;
Image4=Image;
Offset=5;
%%% 左移
Image1(:,1:col-Offset,:)=Image(:,1+Offset:col,:);
%%% 右移
Image2(:,1+Offset:col,:)=Image(:,1:col-Offset,:);
%%%% 上移
Image3(1+Offset:row,:,:)=Image(1:row-Offset,:,:);
%%% 下移
Image4(1:row-Offset,:,:)=Image(1+Offset:row,:,:);
Image=(Image1+Image2+Image3+Image4)/4;
figure, imshow(Image);

原图:

Python实现PS滤镜碎片特效功能示例

效果图:

Python实现PS滤镜碎片特效功能示例

希望本文所述对大家Python程序设计有所帮助。

Python 相关文章推荐
Python下的subprocess模块的入门指引
Apr 16 Python
浅谈Python中函数的参数传递
Jun 21 Python
python中reload(module)的用法示例详解
Sep 15 Python
Anaconda下安装mysql-python的包实例
Jun 11 Python
浅析python中numpy包中的argsort函数的使用
Aug 30 Python
Python爬虫常用小技巧之设置代理IP
Sep 13 Python
不归路系列:Python入门之旅-一定要注意缩进!!!(推荐)
Apr 16 Python
Python占用的内存优化教程
Jul 28 Python
Python 词典(Dict) 加载与保存示例
Dec 06 Python
Pandas缺失值2种处理方式代码实例
Jun 13 Python
Python3开发环境搭建详细教程
Jun 18 Python
Python使用Kubernetes API访问集群
May 30 Python
python的re正则表达式实例代码
Jan 24 #Python
python实现生命游戏的示例代码(Game of Life)
Jan 24 #Python
Python 获得命令行参数的方法(推荐)
Jan 24 #Python
Python实现的rsa加密算法详解
Jan 24 #Python
利用Python+Java调用Shell脚本时的死锁陷阱详解
Jan 24 #Python
python做量化投资系列之比特币初始配置
Jan 23 #Python
python在非root权限下的安装方法
Jan 23 #Python
You might like
Windows下安装PHP单元测试环境PHPUnit图文教程
2014/10/24 PHP
php判断访问IP的方法
2015/06/19 PHP
PHP控制前台弹出对话框的实现方法
2016/08/21 PHP
PHP 7安装调试工具Xdebug扩展的方法教程
2017/06/17 PHP
Windows Live的@live.com域名注册漏洞 利用代码
2006/12/27 Javascript
在JavaScript中实现类的方式探讨
2013/08/28 Javascript
jquery ajax 局部无刷新更新数据的实现案例
2014/02/08 Javascript
jquery的live使用注意事项
2014/02/18 Javascript
jQuery 文本框得失焦点的简单实例
2014/02/19 Javascript
图文详解Heap Sort堆排序算法及JavaScript的代码实现
2016/05/04 Javascript
JavaScript的new date等日期函数在safari中遇到的坑
2016/10/24 Javascript
Bootstrap CDN和本地化环境搭建
2016/10/26 Javascript
javascript添加前置0(补零)的几种方法
2017/01/05 Javascript
jQuery实现简单的计时器功能实例分析
2017/08/29 jQuery
浅谈Node 调试工具入门教程
2018/03/20 Javascript
VSCode中如何利用d.ts文件进行js智能提示
2018/04/13 Javascript
JS跨域请求的问题解析
2018/12/03 Javascript
轻松解决JavaScript定时器越走越快的问题
2019/05/13 Javascript
微信小程序实用代码段(收藏版)
2019/12/17 Javascript
JS字符串和数组如何实现相互转化
2020/07/02 Javascript
Python struct.unpack
2008/09/06 Python
Pycharm学习教程(2) 代码风格
2017/05/02 Python
Python语言描述连续子数组的最大和
2018/01/04 Python
Python学习笔记之字符串和字符串方法实例详解
2019/08/22 Python
python打印直角三角形与等腰三角形实例代码
2019/10/20 Python
python GUI库图形界面开发之PyQt5输入对话框QInputDialog详细使用方法与实例
2020/02/27 Python
关于Python解包知识点总结
2020/05/05 Python
详解CSS 3 中的 calc() 方法
2018/01/12 HTML / CSS
Kaufmann Mercantile官网:家居装饰、配件、户外及更多
2018/09/28 全球购物
物流管理专业应届生求职信
2013/11/21 职场文书
教师党员承诺书
2014/03/25 职场文书
婚前协议书范本两则
2014/10/16 职场文书
观后感格式
2015/06/19 职场文书
2019感恩宣传标语!
2019/07/05 职场文书
基于go interface{}==nil 的几种坑及原理分析
2021/04/24 Golang
JUnit5常用注解的使用
2021/07/02 Java/Android