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 相关文章推荐
Python3实现从文件中读取指定行的方法
May 22 Python
在Django中创建URLconf相关的通用视图的方法
Jul 20 Python
Python基于list的append和pop方法实现堆栈与队列功能示例
Jul 24 Python
详解Python中where()函数的用法
Mar 27 Python
详解Python中的动态属性和特性
Apr 07 Python
Python中利用aiohttp制作异步爬虫及简单应用
Nov 29 Python
python机器学习库scikit-learn:SVR的基本应用
Jun 26 Python
python中的split()函数和os.path.split()函数使用详解
Dec 21 Python
服务器端jupyter notebook映射到本地浏览器的操作
Apr 14 Python
Python读取excel文件中带公式的值的实现
Apr 17 Python
Python爬取网页信息的示例
Sep 24 Python
matplotlib部件之矩形选区(RectangleSelector)的实现
Feb 01 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 session实现多级目录存放实现代码
2016/02/03 PHP
PHP使用PDO实现mysql防注入功能详解
2019/12/20 PHP
JavaScript Event学习第九章 鼠标事件
2010/02/08 Javascript
js获取height和width的方法说明
2013/01/06 Javascript
JQuery动画和停止动画实例代码
2013/03/01 Javascript
Javascript new Date().valueOf()的作用与时间戳由来详解
2013/04/24 Javascript
关于jquery中全局函数each使用介绍
2013/12/10 Javascript
Jquery全屏相册插件zoomvisualizer具有调节放大与缩小功能
2015/11/02 Javascript
jQuery实现简单隔行变色的方法
2016/02/20 Javascript
javascript中eval解析JSON字符串
2016/02/27 Javascript
js发送短信倒计时的简单实现方法
2016/09/08 Javascript
jQuery基于ajax操作json数据简单示例
2017/01/05 Javascript
JS实现的二叉树算法完整实例
2017/04/06 Javascript
手把手教你搭建ES6的开发运行环境
2017/07/11 Javascript
JS去掉字符串中所有的逗号
2017/10/18 Javascript
vue 中使用 watch 出现了如下的报错的原因分析
2019/05/21 Javascript
vue中组件通信详解(父子组件, 爷孙组件, 兄弟组件)
2020/07/27 Javascript
[01:36:19]Secret vs NB 2018国际邀请赛小组赛BO2 第一场 8.19
2018/08/21 DOTA
python计数排序和基数排序算法实例
2014/04/25 Python
Python的gevent框架的入门教程
2015/04/29 Python
分析python请求数据
2018/08/19 Python
Python 利用切片从列表中取出一部分使用的方法
2019/02/01 Python
Django 5种类型Session使用方法解析
2020/04/29 Python
Python logging模块写入中文出现乱码
2020/05/21 Python
python解释器安装教程的方法步骤
2020/07/02 Python
牦牛毛户外探险服装:Kora
2019/02/08 全球购物
简历的自荐信
2013/12/19 职场文书
司机辞职报告范文
2014/01/20 职场文书
公司活动方案范文
2014/03/06 职场文书
小学校园文化建设汇报材料
2014/08/19 职场文书
新婚姻法离婚协议书范文
2014/11/30 职场文书
2015年医务科工作总结范文
2015/05/26 职场文书
单位病假条范文
2015/08/17 职场文书
Java用自带的Image IO给图片添加水印
2021/06/15 Java/Android
MySQL分库分表详情
2021/09/25 MySQL
Flutter集成高德地图并添加自定义Maker的实践
2022/04/07 Java/Android