Python 实现PS滤镜中的径向模糊特效


Posted in Python onDecember 03, 2020

实现效果

Python 实现PS滤镜中的径向模糊特效

实现代码

from skimage import img_as_float
import matplotlib.pyplot as plt
from skimage import io
import numpy as np
import numpy.matlib

file_name='D:/2020121173119242.png'  # 图片路径
img=io.imread(file_name)

img = img_as_float(img)

img_out = img.copy()

row, col, channel = img.shape

xx = np.arange (col) 
yy = np.arange (row)

x_mask = numpy.matlib.repmat (xx, row, 1)
y_mask = numpy.matlib.repmat (yy, col, 1)
y_mask = np.transpose(y_mask)

center_y = (row -1) / 2.0
center_x = (col -1) / 2.0

R = np.sqrt((x_mask - center_x) **2 + (y_mask - center_y) ** 2)

angle = np.arctan2(y_mask - center_y , x_mask - center_x)

Num = 20
arr = np.arange(Num)

for i in range (row):
 for j in range (col):

  R_arr = R[i, j] - arr 
  R_arr[R_arr < 0] = 0

  new_x = R_arr * np.cos(angle[i,j]) + center_x
  new_y = R_arr * np.sin(angle[i,j]) + center_y

  int_x = new_x.astype(int)
  int_y = new_y.astype(int)

  int_x[int_x > col-1] = col - 1
  int_x[int_x < 0] = 0
  int_y[int_y < 0] = 0
  int_y[int_y > row -1] = row -1

  img_out[i,j,0] = img[int_y, int_x, 0].sum()/Num
  img_out[i,j,1] = img[int_y, int_x, 1].sum()/Num
  img_out[i,j,2] = img[int_y, int_x, 2].sum()/Num


plt.figure(1)
plt.imshow(img)
plt.axis('off')

plt.figure(2)
plt.imshow(img_out)
plt.axis('off')

plt.show()

以上就是Python 实现 PS 滤镜中的径向模糊特效的详细内容,更多关于python 图片模糊滤镜的资料请关注三水点靠木其它相关文章!

Python 相关文章推荐
Python中List.index()方法的使用教程
May 20 Python
Python对文件操作知识汇总
May 15 Python
Python正则表达式知识汇总
Sep 22 Python
Python实现PS图像调整之对比度调整功能示例
Jan 26 Python
Python 读取某个目录下所有的文件实例
Jun 23 Python
Python sys模块常用方法解析
Feb 20 Python
python 工具 字符串转numpy浮点数组的实现
Mar 14 Python
Python 如何定义匿名或内联函数
Aug 01 Python
python使用建议与技巧分享(一)
Aug 17 Python
Python爬虫设置Cookie解决网站拦截并爬取蚂蚁短租的问题
Feb 22 Python
用python批量解压带密码的压缩包
May 31 Python
Python使用PyYAML库读写yaml文件的方法
Apr 06 Python
python字符串拼接+和join的区别详解
Dec 03 #Python
python二维图制作的实例代码
Dec 03 #Python
python 使用paramiko模块进行封装,远程操作linux主机的示例代码
Dec 03 #Python
Python 按比例获取样本数据或执行任务的实现代码
Dec 03 #Python
用 Django 开发一个 Python Web API的方法步骤
Dec 03 #Python
分享unittest单元测试框架中几种常用的用例加载方法
Dec 02 #Python
python 使用cycle构造无限循环迭代器
Dec 02 #Python
You might like
PHP 中的批处理的实现
2007/06/14 PHP
php中常用字符串处理代码片段整理
2011/11/07 PHP
jquery 常用操作整理 基础入门篇
2009/10/14 Javascript
关于js类的定义
2011/06/28 Javascript
Jquery 动态生成表格示例代码
2013/12/24 Javascript
JS比较2个日期间隔的示例代码
2014/04/15 Javascript
jQuery实现点击图片翻页展示效果的方法
2015/02/16 Javascript
javascript实现点击商品列表checkbox实时统计金额的方法
2015/05/15 Javascript
javascript实现图片轮播效果
2016/01/20 Javascript
Asp.Net之JS生成分页条的方法
2016/11/23 Javascript
js 输入框 正则表达式(菜鸟必看教程)
2017/02/19 Javascript
AngularJS+bootstrap实现动态选择商品功能示例
2017/05/17 Javascript
NodeJs使用Mysql模块实现事务处理实例
2017/05/31 NodeJs
微信小程序实现顶部下拉菜单栏
2018/11/04 Javascript
基于Vue实现图片在指定区域内移动的思路详解
2018/11/11 Javascript
详解Vue demo实现商品列表的展示
2019/05/07 Javascript
JavaScript Math对象和调试程序的方法分析
2019/05/13 Javascript
python中正则表达式的使用详解
2014/10/17 Python
Python numpy 常用函数总结
2017/12/07 Python
Python读取系统文件夹内所有文件并统计数量的方法
2018/10/23 Python
python实现windows壁纸定期更换功能
2019/01/21 Python
pytorch 获取tensor维度信息示例
2020/01/03 Python
Python 模拟生成动态产生验证码图片的方法
2020/02/01 Python
详解使用python3.7配置开发钉钉群自定义机器人(2020年新版攻略)
2020/04/01 Python
Trip.com澳大利亚:在线旅行社
2019/12/01 全球购物
新闻学毕业生自荐信
2013/11/15 职场文书
2014年公务员思想汇报范文:全心全意为人民服务
2014/03/06 职场文书
2014年十一国庆节活动方案
2014/09/16 职场文书
县政府领导班子四风问题对照检查材料思想汇报
2014/09/26 职场文书
幼儿园学前班幼儿评语
2014/12/29 职场文书
2015年社区统计工作总结
2015/04/21 职场文书
预备党员考察意见范文
2015/06/01 职场文书
火烧圆明园的观后感
2015/06/03 职场文书
孟佩杰观后感
2015/06/17 职场文书
家长必看:义务教育,不得以面试 评测等名义选拔学生
2019/07/09 职场文书
Ubuntu安装Mysql+启用远程连接的完整过程
2022/06/21 Servers