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中的list列表及其切片和迭代操作
Mar 13 Python
详谈Python中列表list,元祖tuple和numpy中的array区别
Apr 18 Python
django反向解析URL和URL命名空间的方法
Jun 05 Python
Python3.5局部变量与全局变量作用域实例分析
Apr 30 Python
python傅里叶变换FFT绘制频谱图
Jul 19 Python
使用 python pyautogui实现鼠标键盘控制功能
Aug 04 Python
python图形绘制奥运五环实例讲解
Sep 14 Python
python TCP包注入方式
May 05 Python
python golang中grpc 使用示例代码详解
Jun 03 Python
Python自动创建Excel并获取内容
Sep 16 Python
利用python为PostgreSQL的表自动添加分区
Jan 18 Python
python脚本使用阿里云slb对恶意攻击进行封堵的实现
Feb 04 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
2020最新CPU的性能排名
2020/04/02 数码科技
一篇不错的PHP基础学习笔记
2007/03/18 PHP
php实现简单的上传进度条
2015/11/17 PHP
PHP函数引用返回的实例详解
2016/09/11 PHP
详细解读php的命名空间(一)
2018/02/21 PHP
php实现 master-worker 守护多进程模式的实例代码
2019/07/20 PHP
不用AJAX和IFRAME,说说真正意义上的ASP+JS无刷新技术
2008/09/25 Javascript
javascript中的new使用
2010/03/20 Javascript
FusionCharts图表显示双Y轴双(多)曲线
2012/11/22 Javascript
HTML上传控件取消选择
2013/03/06 Javascript
jQuery实现默认是闭合的FAQ展开效果菜单
2015/09/14 Javascript
js鼠标点击图片切换效果实现代码
2015/11/19 Javascript
jquery实现触发时更新下拉列表内容的方法
2015/12/02 Javascript
JavaScript原型及原型链终极详解
2016/01/04 Javascript
javascript基础知识讲解
2017/01/11 Javascript
详解AngularJS ui-sref的简单使用
2017/04/24 Javascript
详解NODEJS基于FFMPEG视频推流测试
2017/11/17 NodeJs
Vue实现动态添加或者删除对象和对象数组的操作方法
2018/09/21 Javascript
浅析js中mvvm模式实现的原理
2018/10/06 Javascript
在layui下对元素进行事件绑定的实例
2019/09/06 Javascript
extjs图表绘制之条形图实现方法分析
2020/03/06 Javascript
详解vue中在循环中使用@mouseenter 和 @mouseleave事件闪烁问题解决方法
2020/04/07 Javascript
Python 错误和异常小结
2013/10/09 Python
python将unicode转为str的方法
2017/06/21 Python
Python把csv数据写入list和字典类型的变量脚本方法
2018/06/15 Python
python调用java的jar包方法
2018/12/15 Python
Python学习笔记之lambda表达式用法详解
2019/08/08 Python
python实现最速下降法
2020/03/24 Python
Python代码注释规范代码实例解析
2020/08/14 Python
庆元旦文艺演出主持词
2014/03/27 职场文书
低碳环保口号
2014/06/12 职场文书
2014年党员自我评议总结
2014/09/23 职场文书
健康教育主题班会
2015/08/14 职场文书
两行代码解决Jupyter Notebook中文不能显示的问题
2021/04/24 Python
python脚本框架webpy模板控制结构
2021/11/20 Python
Python中使用Opencv开发停车位计数器功能
2022/04/04 Python