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引用(import)文件夹下的py文件的方法
Aug 26 Python
在Python3中初学者应会的一些基本的提升效率的小技巧
Mar 31 Python
Python环境下搭建属于自己的pip源的教程
May 05 Python
python opencv设置摄像头分辨率以及各个参数的方法
Apr 02 Python
python编程使用协程并发的优缺点
Sep 20 Python
Python3 导入上级目录中的模块实例
Feb 16 Python
解决Pytorch 加载训练好的模型 遇到的error问题
Jan 10 Python
Python SSL证书验证问题解决方案
Jan 13 Python
Pycharm2020.1安装无法启动问题即设置中文插件的方法
Aug 07 Python
基于python实现百度语音识别和图灵对话
Nov 02 Python
Sublime Text3最新激活注册码分享适用2020最新版 亲测可用
Nov 12 Python
Python写情书? 10行代码展示如何把情书写在她的照片里
Apr 21 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
PHP4在WinXP下IIS和Apache2服务器上的安装实例
2006/10/09 PHP
PHP脚本数据库功能详解(下)
2006/10/09 PHP
Ajax+PHP 边学边练之四 表单
2009/11/27 PHP
PHP实现的汉字拼音转换和公历农历转换类及使用示例
2014/07/01 PHP
php使用ob_start()实现图片存入变量的方法
2014/11/14 PHP
深入浅析Yii admin的权限控制
2016/08/31 PHP
推荐自用 Javascript 缩图函数 (onDOMLoaded)……
2007/10/23 Javascript
javascript parseInt 函数分析(转)
2009/03/21 Javascript
ExtJs扩展之GroupPropertyGrid代码
2010/03/05 Javascript
基于JQuery的日期联动实现代码
2011/02/24 Javascript
扩展js对象数组的OrderByAsc和OrderByDesc方法实现思路
2013/05/17 Javascript
浅谈jQuery中replace()方法
2015/05/13 Javascript
微信小程序实现瀑布流布局与无限加载的方法详解
2017/05/12 Javascript
Bootstrap 表单验证formValidation 实现远程验证功能
2017/05/17 Javascript
神级程序员JavaScript300行代码搞定汉字转拼音
2017/05/20 Javascript
实例详解Vue项目使用eslint + prettier规范代码风格
2018/08/20 Javascript
详解在HTTPS 项目中使用百度地图 API
2019/04/26 Javascript
JS中的模糊查询功能
2019/12/08 Javascript
JavaScript自定义超时API代码实例
2020/04/30 Javascript
vue点击按钮实现简单页面的切换
2020/09/08 Javascript
python3模拟百度登录并实现百度贴吧签到示例分享(百度贴吧自动签到)
2014/02/24 Python
Python函数嵌套实例
2014/09/23 Python
使用PyCharm配合部署Python的Django框架的配置纪实
2015/11/19 Python
Python使用tablib生成excel文件的简单实现方法
2016/03/16 Python
Python 模板引擎的注入问题分析
2017/01/01 Python
详解Python logging调用Logger.info方法的处理过程
2019/02/12 Python
Python 实现输入任意多个数,并计算其平均值的例子
2019/07/16 Python
通过python扫描二维码/条形码并打印数据
2019/11/14 Python
通过代码实例了解Python异常本质
2020/09/16 Python
amazeui页面校验功能的实现代码
2020/08/24 HTML / CSS
北京天润融通.net面试题笔试题
2012/02/20 面试题
物业工作计划书
2014/01/10 职场文书
邮政营业员岗位职责
2015/04/14 职场文书
初中班主任教育随笔
2015/08/15 职场文书
青年教师听课心得体会
2016/01/15 职场文书
《跨越海峡的生命桥》教学反思
2016/02/18 职场文书