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爬虫框架Scrapy安装使用步骤
Apr 01 Python
详解在Python程序中使用Cookie的教程
Apr 30 Python
在Apache服务器上同时运行多个Django程序的方法
Jul 22 Python
python函数局部变量用法实例分析
Aug 04 Python
Python 爬虫多线程详解及实例代码
Oct 08 Python
python下读取公私钥做加解密实例详解
Mar 29 Python
多个应用共存的Django配置方法
May 30 Python
python定义类self用法实例解析
Jan 22 Python
Python写出新冠状病毒确诊人数地图的方法
Feb 12 Python
Anaconda3中的Jupyter notebook添加目录插件的实现
May 18 Python
python中id函数运行方式
Jul 03 Python
一行Python命令实现批量加水印
Apr 07 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动态图像的创建
2006/10/09 PHP
php读取mysql中文数据出现乱码的解决方法
2013/08/16 PHP
php数组转换js数组操作及json_encode的用法详解
2013/10/26 PHP
调试PHP程序的多种方法介绍
2014/11/06 PHP
PHP+Oracle本地开发环境搭建方法详解
2019/04/01 PHP
JavaScript类和继承 prototype属性
2010/09/03 Javascript
js中匿名函数的N种写法
2010/09/08 Javascript
jquery链式操作的正确使用方法
2014/01/06 Javascript
提取jquery的ready()方法单独使用示例
2014/03/25 Javascript
Bootstrap基础学习
2015/06/16 Javascript
jQuery Mobile 触摸事件实例
2016/06/04 Javascript
特殊日期提示功能的实现方法
2016/06/16 Javascript
详解jQuery中的isPlainObject()使用方法
2018/02/27 jQuery
vue项目中跳转到外部链接的实例讲解
2018/09/20 Javascript
微信小程序图表插件wx-charts用法实例详解
2019/05/20 Javascript
javascript触发模拟鼠标点击事件
2019/06/26 Javascript
Vue.use()在new Vue() 之前使用的原因浅析
2019/08/26 Javascript
微信内置浏览器图片查看器的代码实例
2019/10/08 Javascript
[02:54]DOTA2英雄基础教程 暗影牧师戴泽
2013/12/05 DOTA
[01:18:21]EG vs TNC Supermajor小组赛B组败者组第一轮 BO3 第一场 6.2
2018/06/03 DOTA
Python比较文件夹比另一同名文件夹多出的文件并复制出来的方法
2015/03/05 Python
遍历python字典几种方法总结(推荐)
2016/09/11 Python
Django+Xadmin构建项目的方法步骤
2019/03/06 Python
Kears+Opencv实现简单人脸识别
2019/08/28 Python
详解python中的三种命令行模块(sys.argv,argparse,click)
2020/12/15 Python
html5 横向滑动导航栏的方法示例
2020/05/08 HTML / CSS
百思买美国官网:Best Buy
2016/07/28 全球购物
兰蔻美国官网:Lancome美国
2017/04/25 全球购物
Kate Spade美国官网:纽约新兴时尚品牌,以包包闻名于世
2017/11/09 全球购物
西班牙香水和化妆品购物网站:Arenal Perfumerías
2019/03/01 全球购物
大四本科生的自我评价
2013/12/30 职场文书
模具专业毕业生自荐书范文
2014/02/19 职场文书
爱心捐助倡议书
2014/05/19 职场文书
三十年同学聚会感言
2015/07/30 职场文书
物资采购管理制度
2015/08/06 职场文书
开学随笔
2015/08/15 职场文书