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中几种操作字符串的方法的介绍
Apr 09 Python
Python实现删除当前目录下除当前脚本以外的文件和文件夹实例
Jul 27 Python
详解python中的线程
Feb 10 Python
python的staticmethod与classmethod实现实例代码
Feb 11 Python
基于DataFrame筛选数据与loc的用法详解
May 18 Python
Linux下python制作名片示例
Jul 20 Python
对python中字典keys,values,items的使用详解
Feb 03 Python
pygame库实现移动底座弹球小游戏
Apr 14 Python
python  ceiling divide 除法向上取整(或小数向上取整)的实例
Dec 27 Python
Matplotlib绘制雷达图和三维图的示例代码
Jan 07 Python
python中读入二维csv格式的表格方法详解(以元组/列表形式表示)
Apr 24 Python
Python实现文件压缩和解压的示例代码
Aug 12 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
新安装的MySQL数据库需要注意的安全知识
2008/07/30 PHP
php数组函数序列之krsort()- 对数组的元素键名进行降序排序,保持索引关系
2011/11/02 PHP
php中file_exists函数使用详解
2015/05/08 PHP
PHP搭建大文件切割分块上传功能示例
2017/01/04 PHP
学习JavaScript的最佳方法分享
2011/10/21 Javascript
jQuery插件slider实现拖动滑块选取价格范围
2015/04/30 Javascript
解析javascript中鼠标滚轮事件
2015/05/26 Javascript
动态加载js、css的简单实现代码
2016/05/26 Javascript
jQuery实现拖拽页面元素并将其保存到cookie的方法
2016/06/12 Javascript
JavaScript对象数组如何按指定属性和排序方向进行排序
2016/06/15 Javascript
原生JS实现圣旨卷轴展开效果
2017/03/06 Javascript
jQuery动态追加页面数据以及事件委托详解
2017/05/06 jQuery
详解Layer弹出层样式
2017/08/21 Javascript
基于Vue制作组织架构树组件
2017/12/06 Javascript
vue初尝试--项目结构(推荐)
2018/01/30 Javascript
vue自定义filters过滤器
2018/04/26 Javascript
详解vue中使用微信jssdk
2019/04/19 Javascript
详解微信小程序图片地扯转base64解决方案
2019/08/18 Javascript
[01:22]DOTA2神秘商店携大量周边降临完美大师赛
2017/11/07 DOTA
[00:20]TI9不朽观赛名额抽取
2019/08/05 DOTA
Python实现简单石头剪刀布游戏
2021/01/20 Python
Python配置虚拟环境图文步骤
2019/05/20 Python
Python如何实现转换URL详解
2019/07/02 Python
下载与当前Chrome对应的chromedriver.exe(用于python+selenium)
2020/01/14 Python
结束运行python的方法
2020/06/16 Python
python 爬取B站原视频的实例代码
2020/09/09 Python
Django mysqlclient安装和使用详解
2020/09/17 Python
五分钟学会怎么用python做一个简单的贪吃蛇
2021/01/12 Python
七年级生物教学反思
2014/01/30 职场文书
乡镇党员干部四风对照检查材料思想汇报
2014/09/27 职场文书
采购员岗位职责
2015/02/03 职场文书
525心理健康活动总结
2015/05/08 职场文书
学前教育见习总结
2015/06/23 职场文书
护士医德医风心得体会
2016/01/25 职场文书
毕业生自荐求职信书写的技巧
2019/08/26 职场文书
公历12个月名称的由来
2022/04/12 杂记