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抓取豆瓣图片并自动保存示例学习
Jan 10 Python
Python设计模式之代理模式实例
Apr 26 Python
Python的垃圾回收机制深入分析
Jul 16 Python
Python文件的读写和异常代码示例
Oct 31 Python
Python爬虫的两套解析方法和四种爬虫实现过程
Jul 20 Python
Python实现多线程的两种方式分析
Aug 29 Python
python 自定义异常和异常捕捉的方法
Oct 18 Python
Python实现统计英文文章词频的方法分析
Jan 28 Python
Python中使用gflags实例及原理解析
Dec 13 Python
Pytorch 实现权重初始化
Dec 31 Python
Python eval函数原理及用法解析
Nov 14 Python
教你怎么用python实现字符串转日期
May 24 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
深入解析fsockopen与pfsockopen的区别
2013/07/05 PHP
PHP扩展开发入门教程
2015/02/26 PHP
PHP树的深度编历生成迷宫及A*自动寻路算法实例分析
2015/03/10 PHP
PHP类型约束用法示例
2016/09/28 PHP
PHP基于自增数据如何生成不重复的随机数示例
2017/05/19 PHP
Yii2.0使用阿里云OSS的SDK上传图片、下载、删除图片示例
2017/09/20 PHP
面向对象的javascript(笔记)
2009/10/06 Javascript
用循环或if语句从json中取数据示例
2014/08/18 Javascript
重写document.write实现无阻塞加载js广告(补充)
2014/12/12 Javascript
JavaScript改变CSS样式的方法汇总
2015/05/07 Javascript
Jquery插件仿百度搜索关键字自动匹配功能
2016/05/11 Javascript
原生js实现回复评论功能
2017/01/18 Javascript
基于jQuery实现手风琴菜单、层级菜单、置顶菜单、无缝滚动效果
2017/07/20 jQuery
小程序选项卡以及swiper套用(跨页面)
2020/06/19 Javascript
JavaScript 判断数据类型的4种方法
2020/09/11 Javascript
原生js 实现表单验证功能
2021/02/08 Javascript
python根据路径导入模块的方法
2014/09/30 Python
Python文件及目录操作实例详解
2015/06/04 Python
Python实现的使用telnet登陆聊天室实例
2015/06/17 Python
Python实现将16进制字符串转化为ascii字符的方法分析
2017/07/21 Python
利用python库在局域网内传输文件的方法
2018/06/04 Python
Pandas数据离散化原理及实例解析
2019/11/16 Python
Django 再谈一谈json序列化
2020/03/16 Python
Python3合并两个有序数组代码实例
2020/08/11 Python
python实现excel公式格式化的示例代码
2020/12/23 Python
html5 分层屏幕适配的方法
2018/03/16 HTML / CSS
阿迪达斯加拿大官网:Adidas加拿大
2016/08/25 全球购物
机电一体化专业推荐信
2013/12/03 职场文书
员工安全承诺书
2014/05/22 职场文书
信访工作经验交流材料
2014/05/23 职场文书
青年文明号口号
2014/06/17 职场文书
乡镇一岗双责责任书
2015/01/29 职场文书
2015秋季开学典礼新闻稿
2015/07/17 职场文书
Python OpenCV实现传统图片格式与base64转换
2021/06/13 Python
python中__slots__节约内存的具体做法
2021/07/04 Python
NGINX 权限控制文件预览和下载的实现原理
2022/01/18 Servers