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的Django框架编写从Google Adsense中获得报表的应用
Apr 17 Python
Python通过select实现异步IO的方法
Jun 04 Python
python 实现网上商城,转账,存取款等功能的信用卡系统
Jul 15 Python
python 与GO中操作slice,list的方式实例代码
Mar 20 Python
python实现解数独程序代码
Apr 12 Python
利用python求相邻数的方法示例
Aug 18 Python
Python面向对象之反射/自省机制实例分析
Aug 24 Python
python实现AES加密和解密
Mar 27 Python
Python学习笔记之字符串和字符串方法实例详解
Aug 22 Python
使用python实现离散时间傅里叶变换的方法
Sep 02 Python
python 获取字典特定值对应的键的实现
Sep 29 Python
浅谈Python数学建模之数据导入
Jun 23 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
PHP时间戳使用实例代码
2008/06/07 PHP
WordPress中设置Post Type自定义文章类型的实例教程
2016/05/10 PHP
php ActiveMQ的安装与使用方法图文教程
2020/02/23 PHP
JavaScript 计算当天是本年本月的第几周
2009/03/22 Javascript
Js组件的一些写法
2010/09/10 Javascript
元素的内联事件处理函数的特殊作用域在各浏览器中存在差异
2011/01/12 Javascript
JS幻灯片可循环播放可平滑旋转带滚动导航(自写)
2013/08/05 Javascript
禁止iframe页面的所有js脚本如alert及弹出窗口等
2014/09/03 Javascript
Nodejs异步回调的优雅处理方法
2014/09/25 NodeJs
jQuery实现字符串按指定长度加入特定内容的方法
2015/03/11 Javascript
coffeescript使用的方式汇总
2015/08/05 Javascript
解决微信浏览器Javascript无法使用window.location.reload()刷新页面
2016/06/21 Javascript
总结AngularJS开发者最常犯的十个错误
2016/08/31 Javascript
基于JS实现checkbox全选功能实例代码
2016/10/31 Javascript
JavaScript DOM节点操作实例小结(新建,删除HTML元素)
2017/01/19 Javascript
JavaScript中运算符规则和隐式类型转换示例详解
2017/09/06 Javascript
解决bootstrap中下拉菜单点击后不关闭的问题
2018/08/10 Javascript
vue+axios 前端实现登录拦截的两种方式(路由拦截、http拦截)
2018/10/24 Javascript
[02:36]DOTA2-DPC中国联赛 正赛 PSG.LGD vs Magma 选手采访
2021/03/11 DOTA
对numpy中的transpose和swapaxes函数详解
2018/08/02 Python
使用卷积神经网络(CNN)做人脸识别的示例代码
2020/03/27 Python
Python如何测试stdout输出
2020/08/10 Python
python pip如何手动安装二进制包
2020/09/30 Python
css3发光搜索表单分享
2014/04/11 HTML / CSS
俄罗斯最大的消费电子连锁零售商:Mvideo
2017/06/25 全球购物
波兰化妆品和护肤品购物网站:eKobieca
2019/08/30 全球购物
RUIFIER官网:英国奢侈高级珠宝品牌
2020/06/12 全球购物
银行介绍信范文
2014/01/10 职场文书
毕业生就业协议书
2014/04/11 职场文书
小学生优秀评语大全
2014/04/22 职场文书
清明节网上祭英烈活动总结
2014/04/30 职场文书
小学音乐课歌曲《堆雪人》教学反思
2016/02/18 职场文书
2016年大学生暑期社会实践活动总结
2016/04/06 职场文书
写自招自荐信的绝招!
2019/04/19 职场文书
《初涉尘世》读后感3篇
2020/01/10 职场文书
Java基础——Map集合
2022/04/01 Java/Android